在struts 1中映射.html url-pattern

时间:2017-02-28 06:05:08

标签: java servlets struts-1

我想在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网址需要做些什么?

1 个答案:

答案 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;
   }
}