日期:2014-05-17 浏览次数:20620 次
<filter> <filter-name>struts</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
------解决方案--------------------
如楼上所说,可能struts2对这个*.do特排斥一样的,我上次也配成*.do就一直报错,连启动都报错。
你换成<url-pattern>/*</url-pattern>,或许就不会出现这个错误了。
然后form的提交里面写成login.action或者login都行。
------解决方案--------------------
struts2的配置跟struts1的配置有很大的不同
第一struts2默认是以*.action为后缀的,而且你在web.xml中路径最好配置成/*,你要修改后缀名要在struts.xml中添加一行<constant name="struts.action.extension" value="do" />
第二,若有多个配置文件,只要在struts.xml中这样引用 <include file="struts-default.xml" />
即可
------解决方案--------------------
web.xml
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
------解决方案--------------------
struts.xml放在src下面,
struts.xml
<package name="defaultaction" extends="struts-default"> <action name="login" class="com.zpyt.actions.LoginAction"> <result name="success" type="dispatcher">/success.jsp</result> <result name="error" type="dispatcher">/error.jsp</result> </action> </package>
------解决方案--------------------
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter写这个看看