1

WEB-INF の下に test.jspx ファイルを作成し、リクエスト ディスパッチャによってサーブレット経由でアクセスしようとしていますが、.jspx を取得していjava.lang.RuntimeException: Cannot find FacesContextます。

マッピングは次のweb.xmlとおりです。

 <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>

を使えばうまくいきます.jsp

私のリクエストディスパッチャーコードは次のとおりです。

RequestDispatcher dispatcher=getServletContext().getRequestDispatcher("/WEB-INF/test.jspx?sessid="+id);
dispatcher.forward( request, response );
4

1 に答える 1

1

リクエスト URL (ブラウザのアドレス バーに表示される) または転送 URL ( で使用したものRequestDispatcher#forward())は、JSF ページ内のすべての JSF コンポーネントを実行および処理するために、 の URL パターンと一致する必要があります。FacesServlet

FacesServletの URL パターンに をマッピングし、/faces/*自作のサーブレットから呼び出そうとしているため (なぜですか?)、転送 URL はその URL パターンと一致する必要があります。ページを外側/WEB-INFに置き、代わりに転送し/faces/test.jspxます。

于 2011-09-02T12:15:10.820 に答える