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 (ペーパーバック)
{{include_html banner_html, "!J2EE"}}
© 2006 矢木浩人
