日期:2014-05-17  浏览次数:20664 次

请教一个jsp urlRewrite的问题!
访问地址是 localhost:8080/eFeelink/contact.action,希望实现的效果是在地址栏显示为
localhost:8080/eFeelink/contact/


按照文档配置好urlRewrite,写了如下规则
<rule>
    <from>^/contact/</from>
    <to type="redirect">%{context-path}/contact.action</to>
</rule>


现在地址栏访问 localhost:8080/eFeelink/contact/可以实现页面跳转,规则生效了,但是跳转后地址栏显示的还是 localhost:8080/eFeelink/contact.action,我希望不显示action后缀,地址栏里的url也改变,所以根据文档把规则修改成forward,如下
<rule>
    <from>^/contact/</from>
    <to type="forward">/contact.action</to>
</rule>


然后问题出来了,错误404


去掉type="forward",还是404


web.xml中struts2的Filter配置如下


猜测问题应该是forward和redirect发送请求的方式不同导致的,实在是不知道如何解决了,希望有大神能指点下!

------解决方案--------------------
<rule>
    <from>/contact</from>
    <to>/contact.action</to>
</rule>