struts2——为Action配置Method属性,实现同一文件,多个Action
每个action单独一个文件,配置麻烦,代码重复多,尝试多个action合并为一个
1、编写 Action文件:
[java] view plaincopy
public class LoginAction extends ActionSupport{
private String LoginId;//需要验证 login:必须输入
private String Psw;//需要验证 login:必须输入
private LoginService loginService ;
public String getLoginId() {
return LoginId;
}
public void setLoginId(String loginId) {
LoginId = loginId;
}
public String getPsw() {
return Psw;
}
public void setPsw(String psw) {
Psw = psw;
}
public void setLoginService(LoginService loginService) {
this.loginService = loginService;
}
/**
* 登录Action
*/
public String Login()
{
return SUCCESS ;
}
/**
* 重登录action
* @return
* @throws Exception
*/
public String LoginAgain() throws Exception
{
loginService.LogOut();
return SUCCESS ;
}
}
不使用默认的execute()方法,为每个Action写一个自己的方法,如Login(),LoginAgain()等。
2、Spring配置文件applicationContext.xml的配置方法不变:
<bean id="loginAction" class="com.dzl.framework.auth.LoginAction" scope="prototype">
3、struts.xml写法改为:
<action name="login" class="loginAction" method="Login" >
<action name="logAgain" class="loginAction" method="LoginAgain" >
其中class="loginAction"是applicationContext.xml中配置的id, method="Login" 是java文件中对应的方法名
这样,就将每个方法注册为一个独立的逻辑action,用法和普通Action一样