インターフェース JspApplicationContext
public interface JspApplicationContext
JSP コンテナーに関連するアプリケーションスコープの情報を格納します。JSP コンテナーは、
ServletContext
インスタンスごとにJspApplicationContext
の単一インスタンスを作成する必要があります。JspApplicationContext
のインスタンスは、静的JspFactory.getJspApplicationContext(jakarta.servlet.ServletContext)
メソッドを呼び出し、対応する Web アプリケーションのServletContext
を渡すことによって取得されます。JspApplicationContext
は、JSP アプリケーションに次のサービスを提供します。- JSP ページおよびタグファイルに含まれる EL 式の変数を解決するために使用される
ELResolver
の登録を許可します。 - EL 式のプログラムによる評価を JSP コンテナーに許可するのではなく、実行する必要があるアプリケーションまたはフレームワークに
ExpressionFactory
のインスタンスを提供します。 - 新しい
ELContext
が作成されるたびに通知するために、ELContextListener
インスタンスの添付を許可します。これは、アプリケーションがカスタムコンテキストオブジェクトをプラグ可能なELResolver
で使用できるようにする場合に必要です。
- 導入:
- JSP 2.1
- 関連事項:
ServletContext
,JspFactory
,ELResolver
,ExpressionFactory
,ELContextListener
- JSP ページおよびタグファイルに含まれる EL 式の変数を解決するために使用される
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 void
addELContextListener(ELContextListener listener)
新しいELContext
が作成されるたびにコンテキストオブジェクトを追加できるように、ELContextListener
を登録します。void
addELResolver(ELResolver resolver)
ELResolver
を追加して、JSP ページおよびタグファイルに表示される EL 式の EL 変数およびプロパティの解決方法に影響を与えます。ExpressionFactory
getExpressionFactory()
EL 式を解析および評価できるように、ValueExpression
およびMethodExpression
の作成に使用されるファクトリを返します。
メソッドの詳細
addELResolver
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
メソッドが呼び出された後で、このメソッドを呼び出そうとした場合。
getExpressionFactory
ExpressionFactory getExpressionFactory()
EL 式を解析および評価できるように、ValueExpression
およびMethodExpression
の作成に使用されるファクトリを返します。- 戻り値:
ExpressionFactory
の具体的な実装。
addELContextListener
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
が作成されたときに通知されるリスナー。