public interface JspApplicationContextJSP コンテナーは、ServletContext インスタンスごとに JspApplicationContext の単一インスタンスを作成する必要があります。
JspApplicationContext のインスタンスは、静的 JspFactory.getJspApplicationContext(javax.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 コンテナーは、一連の標準リゾルバーと、このメソッドを介して登録されたリゾルバーを参照します。リゾルバーのセットは、次の順序で参照されます。
ImplicitObjectELResolverELResolver は、この方法で登録された順序で登録されます。MapELResolverListELResolverArrayELResolverBeanELResolverScopedAttributeELResolver アプリケーションがクライアントからのリクエストを受信した後に ELResolver を登録することは不正です。それ以降に ELResolver を登録しようとすると、IllegalStateException がスローされます。
この制限は、JSP コンテナーが、標準のものを除いて、チェーンに追加の ELResolver がない一般的なケースに最適化できるようにするために設けられています。すでにチェーンにある CompositeELResolver に、初期化の前後に ELResolver を追加することは許可されています。
このメソッドで登録された ELResolver は、いったん登録すると削除できません。
resolver - 新しい ELResolverIllegalStateExceptionSE - すべての ServletContextListener で contextInitialized メソッドが呼び出された後で、このメソッドを呼び出そうとした場合。ExpressionFactory getExpressionFactory()
ValueExpression および MethodExpression の作成に使用されるファクトリを返します。ExpressionFactory の具体的な実装。void addELContextListener(ELContextListener listener)
ELContext が作成されるたびにコンテキストオブジェクトを追加できるように、ELContextListener を登録します。 少なくとも、作成された ELContext オブジェクトには、JSP コンテナーによって追加されたこのリクエストの JspContext への参照が含まれます。これは、addELResolver(javax.el.ELResolver) にリストされているすべてのデフォルト ELResolver には十分です。JspContext.class は、JspContext オブジェクト参照の ELContext.putContext() へのキーとして使用されることに注意してください。
この方法は通常、JspContext 以外のコンテキストを必要とする独自の ELResolver を登録するフレームワークおよびアプリケーションで使用されます。リスナーは通常、イベントオブジェクトで提供される ELContext に必要なコンテキストを追加します。コンテキストを追加するリスナーを登録すると、スタック内の ELResolver は、解決を行うときに必要なコンテキストにアクセスできます。
listener - 新しい ELContext が作成されたときに通知されるリスナー。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.