struts的注解方式不起作用

某某猫 2014-12-18 11:39:55
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

可见别的都正确就是注解方式完全没起作用,那到底是哪里错了呢?

...全文
163 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
某某猫 2014-12-18
  • 打赏
  • 举报
回复
找到原因了,是同时加载了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相关的 纠结了两天啊,多谢了
  • 打赏
  • 举报
回复
报错是因为你的访问路径配置不正确。不过你的那种配置方式还是第一次见。注释不起作用,可能和jar包或者编辑器有关吧,没有识别出来
microhex 2014-12-18
  • 打赏
  • 举报
回复
这个这个 ,帮忙顶一下吧 ,刚学啊 不是很清楚啊

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧