我想在actionServlet中捕获.html网址。 目前.do url我在actionSrvlet中捕获。
Web.xml - ActionServlet“
<servlet-name>ControllerServlet</servlet-name>
<servlet-class>com.mm.wp.webapp.common.WPActionServlet</servlet-class>
<init-param>
<param-name>labelresource</param-name>
<param-value>LabelResources</param-value>
</init-param>
<init-param>
<param-name>errorresource</param-name>
<param-value>ErrorResources</param-value>
</init-param>
<init-param>
<param-name>tootipresource</param-name>
<param-value>TooltipResources</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ControllerServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ControllerServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>`
你能否建议我在ActionServlet中捕获.html网址需要做些什么?
答案 0 :(得分:0)
我没有得到的东西我假设.do url捕获动作servlet就像那样.html会起作用,但确实如此。
好吧,Struts 1流会让Controller Servlet期望一个Action Mapping(对于那个url减去扩展名),一个Action类并调用execute()方法。
你会为你的html路径做些什么?您需要编写一个公共自定义Action类,它读取输入请求路径并转发到该html。
像(未经测试的)
//Refer http://stackoverflow.com/questions/4278083/how-to-get-request-uri-without-context-path to get the url path
public class HtmlAction extends Action{
public ActionMapping execute(.....){
String reqHtml = //see above;
request.getServletContext().getRequestDispatcher(reqHtml).forward(request, response);
return null;
}
}