Struts2笔记 - 08配置多个Struts配置文件

动态方法调用和使用通配符定义

由请求参数指定调用action中的方法

struts1中采用 dispatchAction的方式
<aciton path="control/action" type="...dispatchAction" parameter="method"/>

/control/action?method=aaa

■ struts2中的两种方式
法1.动态方法调用

package struts2.demo.action;

public class DyAction{

 private String msg;

 public String add(){
  this.setMsg("Add");
  return "success";
 }
 
 public String list_del(){
  this.setMsg("delete");
  return "success";
 }
 
 public String execute(){
  this.setMsg("execute");
  return "success";
 }

 public void setMsg(String msg) {
  this.msg = msg;
 }

 public String getMsg() {
  return msg;
 }
}

 

 

<action name="dy" class="struts2.demo.action.DyAction">
 <result>/WEB-INF/page/dy.jsp</result>
</action>

 

 

调用时 采用 http://127.0.0.1:8080/demo/dy!add
可以采用<constant name="struts.enable.DynamicMethodInvocation" value="false"/>禁用动态方法调用

法2.使用通配符调用

<action name="dy_*" class="struts2.demo.action.DyAction" method="{1}">
 <result>/WEB-INF/page/dy.jsp</result>
</action>

 

 

*通配符可以使用多个 {n}(n=第几个*)
这样可以通过http://127.0.0.1:8080/demo/dy_add来调用add方法 通配符可以使用在 class 或者<result>中....

你可能感兴趣的:(Web,jsp,struts)