| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

7.1 定義済み変数にアクセスするELコードを書く

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

ある状況において、pageScope, requestScope, sessionScope, applicationScope, パラメータとparamValues, ヘッダーとheaderValues, cookie, initParam, pageContextを含む定義済み変数にアクセスするELコードを書く。

参照先まとめ

Scope属性
暗黙変数 Servletからの参照
applicationScope javax.servlet.ServletContext の attribute
sessionScope javax.servlet.http.HttpSession の attribute
requestScope javax.servlet.javax.servlet.ServletRequest の attribute
pageScope javax.servlet.jsp.JspContext の attribute
ヘッダ
暗黙変数 Servletからの参照
header javax.servlet.http.HttpServletRequest.getHeader()
headerValues javax.servlet.http.HttpServletRequest.getHeaders()
パラメータ
暗黙変数 Servletからの参照
initParam javax.servlet.ServletContext.getInitParameter()
param javax.servlet.ServletRequest.getParameter()
paramValues javax.servlet.ServletRequest.getParameterValues()
クッキー
暗黙変数 Servletからの参照
cookie javax.servlet.http.HttpServletRequest.getCookies() から戻される javax.servlet.Cookie 配列のうちひとつを名前で指定
コンテキスト
暗黙変数
pageContext

例

pageContext
EL式 スクリプトレット
${ pageContext.servletContext.majorVersion } <%= pageContext.getServletContext().getMajorVersion() %>
${ pageContext.request.method } <%= ((HttpServletRequest)pageContext.getRequest()).getMethod() %>
${ pageContext.out.bufferSize } <%= pageContext.getOut().getBufferSize() %>

0097 jspcontext.jpg

applicationScope
EL式 スクリプトレット
${ applicationScope['javax.servlet.context.tempdir'] } <% =application.getAttribute("javax.servlet.context.tempdir") %>
${ applicationScope['org.apache.catalina.WELCOME_FILES'] } <%= pageContext.getAttribute("org.apache.catalina.WELCOME_FILES",PageContext.APPLICATION_SCOPE) %>
sessionScope
EL式 スクリプトレット
${ sessionScope["key"] } <%= session.getAttribute("key") %>
${ sessionScope['key'] } <%= session.getAttribute("key") %>
${ sessionScope.key } <%= session.getAttribute("key") %>
${ sessionScope.key } <%= pageContext.getAttribute("key",PageContext.SESSION_SCOPE) %>
pageScope
EL式 スクリプトレット
${ pageScope.test_value } <%= pageContext.getAttribute("test_value") %>
${ pageScope.test_value } <%= pageContext.getAttribute("test_value", PageContext.PAGE_SCOPE) %>
  • xxxScope は、xxx.getAttribute と同様な働き
  • pageScope は、JspPageではなく、 pageContext の attribute を参照する
  • キー名は、" (二重引用符) または、'(引用符) で囲み参照する。もしくは直接 . (ピリオド)で参照する
header
EL式 スクリプトレット
${ header.accept } <%= request.getHeader("accept") %>
${ header["referer"] } <%= request.getHeader("referer") %>
${ header['host'] } <%= request.getHeader("'host") %>
headerValues
EL式 スクリプトレット
${ headerValues.accept[0] } <%= request.getHeaders("accept").nextElement() %>
${ headerValues.referer["0"] } <%= request.getHeaders("referer").nextElement() %>
${ headerValues.host['0'] } <%= request.getHeaders("host").nextElement() %>
initParam
EL式 スクリプトレット
${ initParam.contextParam1 } <%= application.getInitParameter("contextParam1") %>
${ initParam["contextParam2"] } <%= application.getInitParameter("contextParam2") %>
param
EL式 スクリプトレット
${ param["param1"] } <%= request.getParameter("param1") %>
${ param.param1 } <%= request.getParameter("param1") %>
parmValues
${ paramValues.param1[0] } <%= request.getParameterValues("param1")[0] %>
${ paramValues.param1["0"] } <%= request.getParameterValues("param1")[0] %>
${ paramValues.["param1"][0] } <%= request.getParameterValues("param1")[0] %>
${ paramValues.["param1"]["0"] } <%= request.getParameterValues("param1")[0] %>
cookie
EL式
${ cookie.JSESSIONID.value }
${ cookie["JSESSIONID"].value }
${ {cookie["JSESSIONID"].name }
  • HttpServletRequest.getCookies() で取得されるクッキーの配列の要素を取得できる

SCWCD Exam Study Kit: Java Web Component Developer Certification (ペーパーバック)


{{include_html banner_html, "!J2EE"}}