struts2.1.X关于配置redirect-action启动出错的解决方法
最近在学习Struts2,在配置struts-spring.xml的时候,我的配置文件struts-spring.xml如下:<action name="userlogin" class="UserLoginAction" method="userlogin">
<result name="success" type="redirect-action">
<param name="actionName">login</param>
<param name="namespace">/</param>
</result>
<result name="error">/login.jsp</result>
</action>然后我启动TOMCAT,出现如下错误 Unable to load configuration. - action - file:/E:/apache-tomcat-5.5.25/webapps/wftang/WEB-INF/classes/struts-spring.xml:46:23
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:360)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:403)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: Error building results for action userlogin in namespace / - action - file:/E:/apache-tomcat-5.5.25/webapps/wftang/WEB-INF/classes/struts-spring.xml:46:23
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:366)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:460)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:265)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:189)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
... 21 more
Caused by: There is no result type defined for type 'redirect-action' mapped with name 'success'.Did you mean 'redirectAction'? - result - file:/E:/apache-tomcat-5.5.25/webapps/wftang/WEB-INF/classes/struts-spring.xml:50:53
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:613)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:364)
... 26 more在网上搜索了一通,发现原来我前面的那个配置是支持struts2.0.X的配置,而我的struts的JAR的版本为struts2.1.6,在struts2.1.X中针对redirect-action的配置全面变了.配置如下:<action name="userlogin" class="UserLoginAction" method="userlogin">
<result name="success" type="redirectAction">
<param name="actionName">login</param>
<param name="namespace">/</param>
</result>
<result name="error">/login.jsp</result>
</action>最后发现奇迹出现了,成功了!
from:http://go.cxweb.com.cn/ckyqy
页:
[1]