我想從的Servlet的請求轉發到行動這樣使用RequestDispacher
這樣如何將請求從servlet轉發到struts2的動作?
RequestDispatcher dispatcher=request.getRequestDispatcher("hello.action");
dispatcher.include(request, response);
它不工作。我該如何解決這個問題?
我想從的Servlet的請求轉發到行動這樣使用RequestDispacher
這樣如何將請求從servlet轉發到struts2的動作?
RequestDispatcher dispatcher=request.getRequestDispatcher("hello.action");
dispatcher.include(request, response);
它不工作。我該如何解決這個問題?
爲了做到這一點,你可能還需要設置過濾器來運行FORWARD(和INCLUDE,因爲你的代碼顯示,儘管你聲明你想要FORWARD):
<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>
使用在servlet
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>
完美.. @ Roman – 2016-04-25 15:32:22
優秀.. @戴夫 – 2016-04-25 15:32:12