当前位置: 代码迷 >> J2EE >> struts的诠注方式不起作用
  详细解决方案

struts的诠注方式不起作用

热度:20   发布时间:2016-04-17 23:27:41.0
struts的注解方式不起作用
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

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


------解决思路----------------------
这个这个 ,帮忙顶一下吧 ,刚学啊 不是很清楚啊
------解决思路----------------------
报错是因为你的访问路径配置不正确。不过你的那种配置方式还是第一次见。注释不起作用,可能和jar包或者编辑器有关吧,没有识别出来