第一种:一般类,带有public String execute()方法。
第二种:继承LoginActionInterface implements Action接口的类。
第三种:继承LoginActionSupport extends ActionSupport抽象类的类。
结构图
三个类的具体写法,也贴上来供大家参考
package com.test.action;
import com.test.dao.UserCheck;
import com.test.vo.User;
public class LoginAction {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private String password;
public String execute()
{
User u=new User();
u.setUsername(this.getUsername());
u.setPassword(this.getPassword());
/*调用业务逻辑层代码*/
UserCheck check=new UserCheck();
if(check.login(u))
{
return "login_ok";
}
else
{
return "login_fail";
}
}
}
package com.test.action;
import com.opensymphony.xwork2.Action;
import com.test.dao.UserCheck;
import com.test.vo.User;
public class LoginActionInterface implements Action{
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private String password;
public String execute()
{
User u=new User();
u.setUsername(this.getUsername());
u.setPassword(this.getPassword());
/*调用业务逻辑层代码*/
UserCheck check=new UserCheck();
if(check.login(u))
{
return "login_ok";
}
else
{
return "login_fail";
}
}
}
package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
import com.test.dao.UserCheck;
import com.test.vo.User;
public class LoginActionSupport extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
public LoginActionSupport()
{
System.out.println("LoginActionSupport");
}
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private String password;
public String execute()
{
User u=new User();
u.setUsername(this.getUsername());
u.setPassword(this.getPassword());
/*调用业务逻辑层代码*/
UserCheck check=new UserCheck();
if(check.login(u))
{
return "login_ok";
}
else
{
return "login_fail";
}
}
}
其实我们发现,只要具有public String execute()这个方法就行了,还要注意,在继承ActionSupport的时候,默认的execute()是返回success。