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

MyMemoWiki

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

提供: MyMemoWiki
2020年2月15日 (土) 08:29時点におけるPiroto (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

ある状況において、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"