パッケージ jakarta.servlet.jsp

インターフェース 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
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド  
      修飾子と型 メソッド 説明
      voidaddELContextListener​(ELContextListener listener)
      新しい ELContext が作成されるたびにコンテキストオブジェクトを追加できるように、ELContextListener を登録します。
      voidaddELResolver​(ELResolver resolver)
      ELResolver を追加して、JSP ページおよびタグファイルに表示される EL 式の EL 変数およびプロパティの解決方法に影響を与えます。
      ExpressionFactorygetExpressionFactory()
      EL 式を解析および評価できるように、ValueExpression および MethodExpression の作成に使用されるファクトリを返します。
    • メソッドの詳細

      • addELResolver

        void addELResolver​(ELResolver resolver)
        ELResolver を追加して、JSP ページおよびタグファイルに表示される EL 式の EL 変数およびプロパティの解決方法に影響を与えます。

        例: EL 式 ${employee.lastName}, では、ELResolver は「従業員」が参照するオブジェクトとその "lastName" プロパティの検索方法を決定します。

        式を評価するとき、JSP コンテナーは、一連の標準リゾルバーと、このメソッドを介して登録されたリゾルバーを参照します。リゾルバーのセットは、次の順序で参照されます。

        アプリケーションがクライアントからのリクエストを受信した後に 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 が作成されたときに通知されるリスナー。