struts2 动态方法调用

Struts2的动态方法调用 类似于Struts1的dispatchAction   具体用法如下:

 

第一种:   Action名 + !+ 方法名 + .action   

struts.xml

<constant name="struts.devMode" value="true" />
 <package name="dmi" namespace="/dmi" extends="struts-default">
        <action name="LoginAction" class="com.accp.struts2.biz.LoginAction">
            <result>
                /dmi/dmi_result.jsp
            </result>
        </action>
  </package>

 

 访问页面:      注意此处的action的路径   LoginAction!regist.action

  <form action="../dmi/LoginAction!regist.action" method="post">
     name:<input type="text" name="uname"/><br/>
     age:<input type="text" name="uage"/><br/>
     <input type="submit" value="go"/>
  </form>

 

第二种:  在Action节点中通过method属性指定执行的方法

struts.xml

<package name="dmi" namespace="/dmi" extends="struts-default">

                           通过method属性指定要调用的方法名为login
        <action name="LoginAction" class="com.accp.struts2.biz.LoginAction" method="Login" >
            <result>
                /dmi/dmi_method_result.jsp
            </result>
        </action>
</package>

 

访问页面:

<form action="../dmi/LoginAction.action" method="post">
     name:<input type="text" name="uname"/><br/>
     age:<input type="text" name="uage"/><br/>
     <input type="submit" value="go"/>
</form>

 

执行类:

public class LoginAction extends ActionSupport {
  //..........此处省略属性和方法

 
 public String Login() throws Exception{
  System.out.println("call login method ======" + getUname());
  return SUCCESS;
 }
}

第三种:   使用通配符形式完成动态调用

struts.xml

<package name="dmi" namespace="/dmi" extends="struts-default">

             此处用*号指定任意形式的Action,比如 LoginAction

           method={1} 此处的{1}指定的是第一个*号  也就是 Login
        <action name="*Action" class="com.accp.struts2.biz.LoginAction" method="{1}">
            <result>
                /dmi/dmi_wildcard_result.jsp
            </result>
        </action>
</package>

 

访问页面:

<form action="../dmi/LoginAction.action" method="post">
     name:<input type="text" name="uname"/><br/>
     age:<input type="text" name="uage"/><br/>
     <input type="submit" value="go"/>
</form>

 

执行类:

public class LoginAction extends ActionSupport {
  //..........此处省略属性和方法

 
 public String Login() throws Exception{
  System.out.println("call login method ======" + getUname());
  return SUCCESS;
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值