问一下大家 struts2 的在jsp的<form action="xxx">这个地方。action是应该写成 xxx 还是xxx.action啊?在网上看到有的地方带.action 有的不带,这是为什么
这要看你 配置的拦截器。。一般在web.xml里边。如果是 /* 那就是全部链接,就不用加.action
如此。。其实在Myeclipse 中add Struts2 的时候 有给你选择是 .action 还是.do 或者全部的。。
应该是这样,如果不是 ,请指正,,我也是菜鸟。 ######
<filter-name>action2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>action2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
是过滤器,,,更正一下。。。
######回复 @Mr_Sky : 上配置,web.xml######有点奇怪是,我写action="xx" 可以请求到那个action。写成action="xx.action"反而报404。struts2的配置里没有修改过默认的.action后缀,这您知道什么问题吗?######
<filter-name>action2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>action2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
是过滤器,,,更正一下。。。
发现原因了,是因为在struts.xml里面配了个<constant name="struts.action.extension" value=","></constant>,这样就只会处理没有.action的请求。同时发现了在default.properties中有个属性是这样的struts.action.extension=action,, 其实struts默认已经处理.action或者没有尾缀的请求了######如果我struts.xml写了constant 就是覆盖了默认配置
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。