7.1 定義済み変数にアクセスするELコードを書く
ナビゲーションに移動
検索に移動
ある状況において、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() %> |
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 (ペーパーバック)] |
© 2006 矢木浩人