您的位置:首页 > 编程语言 > Java开发

struts2 动态方法调用

2012-09-14 15:00 316 查看
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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: