トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

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 (ペーパーバック)


指定されたパートは存在しません。



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.