web.xml中配置: <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>actionPackages</param-name> <param-value>manage.action</param-value> </init-param> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> struts.xml中配置: <package name="manage" extends="defaultPackage, json-default" namespace="/"> </package> action中配置: @ParentPackage("manage") @SuppressWarnings("serial") @Results({ @Result(name="input",value="/index.jsp"), @Result(name="success",value="/index.jsp"), @Result(name="test",value="/index.jsp") }) public class MultiplyAction extends AbstractAction{ 报错 There is no Action mapped for namespace [/] and action name [Multiply] associated with context path [/Test1]. 如果在struts.xml的manage下加上对该action的配置 <package name="manage" extends="defaultPackage, json-default" namespace="/"> <action name="Multiply" class="manage.action.MultiplyAction" > <result name="success">/index.jsp</result> </action> </package> ?这时走success就可以,但走test就报错 No result defined for action manage.action.MultiplyAction$$EnhancedByS2AOP$$1f102bd and result test 可见别的都正确就是注解方式完全没起作用,那到底是哪里错了呢? |
|
15分 |
报错是因为你的访问路径配置不正确。不过你的那种配置方式还是第一次见。注释不起作用,可能和jar包或者编辑器有关吧,没有识别出来
|
找到原因了,是同时加载了struts2-convention-plugin-2.3.1.2.jar和 struts2-codebehind-plugin-2.3.1.2.jar
在web配置的时候用的是struts2-convention-plugin-2.3.1.2.jar下的 在action那里又用的是struts2-codebehind-plugin-2.3.1.2.jar相关的 纠结了两天啊,多谢了 |