问答详情
源自:4-4 动态方法调用-深入Struts2

!和通配符方式都不能访问

 struts2的jar包用的是2.5的

HTTP Status 404 - There is no Action mapped for namespace [/] and action name [HelloWorld_add_action] associated with context path [/HelloWorld].

HelloWorldAction.java

public class HelloWorldAction extends ActionSupport {
 // helloworld.action
 @Override
 public String execute() throws Exception {  
  System.out.println("执行Action");
  return SUCCESS;
 }

 public String add() {
  return "add";
 }

 public String update() {
  return "update";
 }
}

struts.xml

<struts>
  <package name="default" namespace="/" extends="struts-default">
 
  <action name="*_*" method="{2}" class="com.imooc.action.{1}Action">
   <result >/result.jsp</result>
   <result name="add">/{2}.jsp</result>
   <result name="update">/{2}.jsp</result>
  </action>
 </package>
 <constant name="struts.enable.DynamicMethodInvocation" value="false"></constant>
 
</struts>

 

提问者:雷欧海特 2016-06-09 09:10

个回答

  • 陷入编程无法自拔的江北
    2018-06-05 09:41:52

    正解,亲测有效,在package标签加上属性即可成功运行

    strict-method-invocation="false"


  • weibo_sJ书桀
    2016-06-11 17:29:36

    在package节点中添加属性strict-method-invocation="false"就可以了

  • 雷欧海特
    2016-06-09 09:30:54

    已解决,换成2.3的jar包可以,新的问题,2.5为什么不可以,是不支持2,3种方式,还是增强了安全性,有些属性没有设置呢?