public interface JspApplicationContext
JSP コンテナーは、ServletContext
インスタンスごとに JspApplicationContext
の単一インスタンスを作成する必要があります。
JspApplicationContext
のインスタンスは、静的 JspFactory.getJspApplicationContext(jakarta.servlet.ServletContext)
メソッドを呼び出し、対応する Web アプリケーションの ServletContext
を渡すことによって取得されます。
JspApplicationContext
は、JSP アプリケーションに次のサービスを提供します。
ELResolver
の登録を許可します。ExpressionFactory
のインスタンスを提供します。ELContext
が作成されるたびに通知するために、ELContextListener
インスタンスの添付を許可します。これは、アプリケーションがカスタムコンテキストオブジェクトをプラグ可能な ELResolver
で使用できるようにする場合に必要です。ServletContext
, JspFactory
, ELResolver
, ExpressionFactory
, ELContextListener
修飾子と型 | メソッドと説明 |
---|---|
void | addELContextListener(ELContextListener listener) 新しい ELContext が作成されるたびにコンテキストオブジェクトを追加できるように、ELContextListener を登録します。 |
void | addELResolver(ELResolver resolver) ELResolver を追加して、JSP ページおよびタグファイルに表示される EL 式の EL 変数およびプロパティの解決方法に影響を与えます。 |
ExpressionFactory | getExpressionFactory() EL 式を解析および評価できるように、 ValueExpression および MethodExpression の作成に使用されるファクトリを返します。 |
void addELResolver(ELResolver resolver)
ELResolver
を追加して、JSP ページおよびタグファイルに表示される EL 式の EL 変数およびプロパティの解決方法に影響を与えます。 例: EL 式 ${employee.lastName}, では、ELResolver
は「従業員」が参照するオブジェクトとその "lastName" プロパティの検索方法を決定します。
式を評価するとき、JSP コンテナーは、一連の標準リゾルバーと、このメソッドを介して登録されたリゾルバーを参照します。リゾルバーのセットは、次の順序で参照されます。
ImplicitObjectELResolver
ELResolver
は、この方法で登録された順序で登録されます。MapELResolver
ListELResolver
ArrayELResolver
BeanELResolver
ScopedAttributeELResolver
アプリケーションがクライアントからのリクエストを受信した後に ELResolver
を登録することは不正です。それ以降に ELResolver
を登録しようとすると、IllegalStateException
がスローされます。
この制限は、JSP コンテナーが、標準のものを除いて、チェーンに追加の ELResolver
がない一般的なケースに最適化できるようにするために設けられています。すでにチェーンにある CompositeELResolver
に、初期化の前後に ELResolver
を追加することは許可されています。
このメソッドで登録された ELResolver
は、いったん登録すると削除できません。
resolver
- 新しい ELResolver
IllegalStateExceptionSE
- すべての ServletContextListener
で contextInitialized
メソッドが呼び出された後で、このメソッドを呼び出そうとした場合。ExpressionFactory getExpressionFactory()
ValueExpression
および MethodExpression
の作成に使用されるファクトリを返します。ExpressionFactory
の具体的な実装。void addELContextListener(ELContextListener listener)
ELContext
が作成されるたびにコンテキストオブジェクトを追加できるように、ELContextListener
を登録します。 少なくとも、作成された ELContext
オブジェクトには、JSP コンテナーによって追加されたこのリクエストの JspContext
への参照が含まれます。これは、addELResolver(jakarta.el.ELResolver)
にリストされているすべてのデフォルト ELResolver
には十分です。JspContext.class
は、JspContext
オブジェクト参照の ELContext.putContext() へのキーとして使用されることに注意してください。
この方法は通常、JspContext
以外のコンテキストを必要とする独自の ELResolver
を登録するフレームワークおよびアプリケーションで使用されます。リスナーは通常、イベントオブジェクトで提供される ELContext
に必要なコンテキストを追加します。コンテキストを追加するリスナーを登録すると、スタック内の ELResolver
は、解決を行うときに必要なコンテキストにアクセスできます。
listener
- 新しい ELContext
が作成されたときに通知されるリスナー。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.