2

JSP式の評価についてもっと学ぼうとしています。式によるアクセスの範囲内にあると判断される変数と方法は?

単純なJSPがあります(ELEvaluatorは便利なラッパーです)

<% String foo = "bar"; %>
<%= ELEvaluator.evaluate("${foo}", request, pageContext) %> //-> blank
<%= ELEvaluator.evaluate("${1 + 1}", request, pageContext %> // -> 2

これらの変数/オブジェクトはリクエストオブジェクトに存在する必要がありますか?またはpageContext/Evaluatorに登録しますか?

ありがとう

4

1 に答える 1

6

${foo}意味

  • 「foo」という名前のページスコープ属性を検索し、見つからない場合は
  • 「foo」という名前のrequest-scope属性を見つけ、見つからない場合は
  • 「foo」という名前のセッションスコープ属性を検索し、見つからない場合は
  • 「foo」という名前のアプリケーションスコープ属性を検索します

したがって、ELでオブジェクトを使用できるようにする場合は、それを適切なスコープに格納します。

pageContext.setAttribute("foo", theObject);
// or
request.setAttribute("foo", theObject);
// or
session.setAttribute("foo", theObject);
// or
servletContext.setAttribute("foo", theObject);
于 2012-05-20T17:18:29.673 に答える