Struts2使用UrlRewriteFilter实现URL重写遇到的问题

做很多功能时候url使用xxx.jsp?xx=xx&xx=xx类似这种形式感觉很不友好,网上搜了下插件,于是使用了UrlRewriteFilter。

项目地址:http://www.tuckey.org/urlrewrite/

文档很详细,具体配置不多说,注意web.xml中过滤器顺序(编码过滤器我方在最前,其次是url重写的,最后是struts2及其他的)。

下面记录下urlrewrite.xml中的说明

  <rule>节点可以理解为正向,如下所示,即是将/xx/xx映射到login.jsp

  <rule>
        <from>^/kfseed/login/res/(.*)</from>
        <to type="redirect">%{context-path}/login.jsp</to>
    </rule>

  <outbound-rule>节点可以理解为反向,即是将XXX.jsp?xxx=xx映射到XX/XX上

  <outbound-rule>
        <from>/kfseed/login.jsp\?res=(.*)</from>
        <to>%{context-path}/login/res/$1</to>
    </outbound-rule>

其中注意xx.jsp?中问号也要使用正则匹配。

ps:-------------

遇到的问题:

  反向在页面中没问题,正向时去报找不到action,但UrlRewriteFilter是按照要求放在struts2过滤器之前的。待解决

原文地址:https://www.cnblogs.com/GYoungBean/p/3042127.html