Questi sono oggetti che sono già stati inseriti nella portata dal contenitore servlet, in modo che sia accessibile da EL (Expression Language), come il PageContext
, HttpServletRequest#getParameter()
, HttpServletRequest#getHeader()
e così via. Questi sono solo per comodità, quindi non è necessario utilizzare gli script script con prefisso per recuperarli.
Così, invece di, per esempio
<%= pageContext.getSession().getMaxInactiveInterval() %><br>
<%= request.getParameter("foo") %><br>
<%= request.getHeader("user-agent") %><br>
<% for (Cookie cookie : request.getCookies()) { // Watch out with NPE!
if (cookie.getName().equals("foo")) {
out.write(cookie.getValue());
}
}
%><br>
si può solo fare
${pageContext.session.maxInactiveInterval}<br>
${param.foo}<br>
${header['user-agent']}<br>
${cookie.foo}<br>
Si vede che segue le convenzioni JavaBean essere accessibili (per esempio, si può solo richiamare i getter il modo JavaBean) .Vedete che ho usato la notazione di parentesi graffe []
per ottenere il user-agent
, perché il -
è un carattere riservato in EL, quindi ${header.user-agent}
non funziona, proverebbe a restituire il risultato di request.getHeader("user") - pageContext.findAttribute("agent")
che ovviamente non funzionerà .
Per una panoramica di tutti, consultare il capitolo Implicit Objects nell'esercitazione Java EE.