Method 即通过 struts.xml的action配置的method属性实现方法的调用。
优点:避免动态方法调用的安全隐患
缺陷:导致大量的Action配置
login.jsp<body>
<!-- 动态调用:即通过struts.xml配置的action name属性寻找Action类 !后面接你想动态调用的方法 -->
<form action="login">
<div align="center">
姓名<input type="text" name="name" value="admin" /><br /> 密码<input
type="text" name="pwd" value="123" /><br />
<button type="submit">login登录</button>
</div>
</form>
<form action="register">
<div align="center">
姓名<input type="text" name="name" value="admin" /><br /> 密码<input
type="text" name="pwd" value="123" /><br />
<button type="submit">register登录</button>
</div>
</form>
<form action="exe">
<div align="center">
姓名<input type="text" name="name" value="admin" /><br /> 密码<input
type="text" name="pwd" value="123" /><br />
<button type="submit">默认登录</button>
</div>
</form>
</body>
struts.xml
<struts>
<!-- 解决中文乱码 -->
<constant name="struts.i18n.encoding" value="UTF-8" />
<!-- 讲风格设为简洁 -->
<constant name="struts.ui.theme" value="simple" />
<package name="default" namespace="/" extends="struts-default">
<!-- 通过method属性来访问方法。相当于class的补充。 -->
<!-- 优点:避免动态方法的安全隐患 -->
<!-- 缺点:需要action配置多 -->
<action name="register" class="com.LoginAction" method="register">
<result>/MyJsp.jsp</result>
</action>
<action name="login" class="com.LoginAction" method="login">
<result>/MyJsp.jsp</result>
</action>
<action name="exe" class="com.LoginAction" method="execute">
<result>/page/MyJsp.jsp</result>
</action>
</package>
class LoginAction
package com;
import com.opensymphony.xwork2.Action;
/**
* ACtion接口方法调用之 method属性
* @author Administrator
*
*/
public class LoginAction implements Action {
private String name;
private String pwd;
private String message;
public String execute() throws Exception {
message = "execute登录";
return SUCCESS;
}
public String login() {
message = "login登录";
if ("admin".equals(name) && "123".equals(pwd))
return "success";
else
return "fail";
}
public String register() {
message = "register登录";
if ("admin".equals(name) && "123".equals(pwd))
return "success";
else
return "fail";
}
// setter getter 省略
登录验证界面 MyJsp.jsp
<body>
<%@ taglib prefix="s" uri="/struts-tags" %>
${message}${name}
</body>