De JSP Expression Language
8 belangrijke vragen over De JSP Expression Language
Kunt uitleggen wat het verband is tussen EL-expressies en JavaBeans
Gegeven is een servlet TestServlet. Schrijf Java-opdrachten die binnen de methode doGet staan en een bean user van type User opslaan in achtereenvolgens
a) het request-object
b) het session-object
c) het ServletContext-object
request.setAttribute("user", user);
b) Het session-object moet eerst worden opgehaald:
HttpSession session = request.getSession();
session.setAttribute("user", user);
c)Ook het servletContext moet worden opgehaald:
ServletContext sc = this.getServletContext();
sc.setAttribute("user", user);
Schrijf JSP-expressies die overeenkomen met elk van de volgende expressies hieronder:
a) ${best}
b) ${requestScope.best}
c) ${best.klant}
d) ${requestScope.best.klant.klantnummer}
e) ${best.artikel.leverbaar}
<%= request.getAttribute("best") %>
De aanroep naar toString is ook in JSP-expressies impliciet en mag dus ook worden weggelaten
b) <%= request.getAttribute("best") %>
c) <%= request.getAttribute("best").getKlant() %>
d) <%= request.getAttribute("best").getKlant().getKlantnummer() %>
e) <%= request.getAttribute("best").getKlant().isLeverbaar() %>
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden
Schrijf de volgende expressies zonder gebruik te maken van de punt:
a) ${requestScope.best}
b) ${best.klant}
c) ${requeatScope.best.klant.klantnummer}
d) ${best.artikel.leverbaar}
b) ${best ["klant"]}
c) ${requeatScope["best"] ["klant"] ["klantnummer"]}
d) ${best ["artikel"] ["leverbaar"]}
Een project bevat 2 JSP pagina's namelijk coderen.jsp en gecodeerd.jsp. Veravng de volgende scriptlet en JSP-expressies door EL:
De pagina coderen.jsp bevat de volgende scriptlet en 2 JSP expressies:
<%
String bericht = request.getParametr("bericht");
String foutboodschap = (String) request.getAtribute ("foutboodschap");
if (bericht == null) {
foutboodschap = "";
bericht = "";
}
%>
<% foutboodschap %>
<% bericht %>
In de pagina gecodeerd staan 2 JSP-expressies:
<%= request.getParameter("bericht") %>
<%= request.getAttribute("code") %>
${foutboodschap}
${param.bericht}
In de pagina gecodeerd.jsp worden de 2 JSP-expressies vervangen door:
${param.bericht}
${code}
A) Aan welke eisen moet een klasse voldoen om aangemerkt te kunnen worden als JavaBean?
b) Welke extra eigenschap is gebruikelijk voor JavaBeans?
- een parameterloze constructor bevat
- waarvan alle object-attributen private of protected zijn (eventuele klassenattributen mogen wel public zijn)
- voor elk attribuut set- en get-methoden bevat volgens de gebruikelijke naamconvente: een niet-boolean attribuut van x van tpe Y heeft methoden getX() en setX(Y); een boolean attribuut x heeft methoden isX() en setX(boolean)
b) Het is gebruikelijk dateen JavaBean de interface java.io.Serializable implementeert en dus weggeschreven kan worden als object (serialisatie)
A) Aan welke eis moet een Java-attribuut voldoen om toegankelijk te zijn via een EL-expressie?
b) Betekent dit noodzakelijkerwijs dat de klasse een JavaBean moet zijn?
b) Deze eis is minder zwaar dan de eis dat de klase een Javabean is; een parameterloze constructor in de klasse en een set-methode voor het attribuut zijn niet nodig
Gegeven zijn de volgende 2 EL-expressies:
${sessionScope.x}
${x}
Is de betekenis van deze expressies identiek? Zo ja, waarom; zo niet, wat is het verschil?
De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:
- Een unieke studie- en oefentool
- Nooit meer iets twee keer studeren
- Haal de cijfers waar je op hoopt
- 100% zeker alles onthouden