structs实现三种action的方法
Posted yfceshi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了structs实现三种action的方法相关的知识,希望对你有一定的参考价值。
第一种:一般类,带有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。
以上是关于structs实现三种action的方法的主要内容,如果未能解决你的问题,请参考以下文章
struts2中Action的三种开发编写形式,ActionSupport,POJO