このように使用して、このようにサーブレットからアクションにリクエストを転送したいRequestDispacher
RequestDispatcher dispatcher=request.getRequestDispatcher("hello.action");
dispatcher.include(request, response);
動いていない。この問題を解決するにはどうすればよいですか?
このように使用して、このようにサーブレットからアクションにリクエストを転送したいRequestDispacher
RequestDispatcher dispatcher=request.getRequestDispatcher("hello.action");
dispatcher.include(request, response);
動いていない。この問題を解決するにはどうすればよいですか?
これを行うには、フィルターを FORWARD で実行するように設定する必要がある場合があります (また、FORWARD が必要だと述べていますが、コードが示すように INCLUDE):
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher> <!-- If you want includes as well -->
</filter-mapping>
サーブレットでコードを使用する
getServletContext().getRequestDispatcher("/hello.action").forward(request, response);
また、転送リクエストを受け入れるように struts2 フィルターを構成しました
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>