概述
struts获取前台传送数据的三种方式
1.使用Action的属性
2.使用DomainModel
3.使用ModelDriven
前台form如下,传输了两个参数:username,password
<form style="width:30%;margin-top:100px;" action="login.action">
<fieldset style="text-align: center; size: auto" title="login">
<legend>login</legend>
Username:
<input type="text" name="username" maxlength="20" />
<br>
Password:
<input type="password" name="password" maxlength="20"></input>
<br>
<input type="submit" value="sumbit" align="right">
<input type="reset" value="reset" align="right">
</fieldset>
</form>
第一种:使用Action的属性接受参数
方法是,在对应的login.action中设置两个String变量,变量名为username,password.(变量名可以随便取)
然后使用get,set方法。Action会调用setXXX方法来获取值。
比如说前台传参数是param,那么它会调用setParam()来获取值。
code如下:
public class LoginAction {
String username;
String password;
//使用set方法获取参数
public void setPassword(String password) {
this.password = password;
}
public void setUsername(String username) {
this.username = username;
}
public String execute(){
System.out.println("username:"+username);
System.out.println("password:"+password);
return "success";
}
}
第二种方法:使用DomainModel来获取前台参数
在Action中设置一个对象来接收前台参数,传参时参数变量为类名+变量名一一对应(本例为user.username,user.password,这样会直接调用User的setUsername()和setPassword)
class User {
private String username;
private String password;
public void setPassword(String password) {
System.out.println("-------->set Password");
this.password = password;
}
public void setUsername(String username) {
System.out.println("---------->set username");
this.username = username;
}
public String getPassword() {
return password;
}
public String getUsername() {
return username;
}
}
public class LoginAction {
public User user; //第二种利用DomainModel,直接调用对象的set方法生成对象 不用new
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String execute(){
if(user==null){
System.out.println("no user...");
return "error";
}
System.out.println("username:"+user.getUsername());
System.out.println("password:"+user.getPassword());
return "error";
}
}
第三种:使用ModelDriven
方法是实现ModelDriven接口,传参直接使用对象的属性为变量,必须new一个新的对象
class User {
private String username;
private String password;
public void setPassword(String password) {
System.out.println("-------->set Password");
this.password = password;
}
public void setUsername(String username) {
System.out.println("---------->set username");
this.username = username;
}
public String getPassword() {
return password;
}
public String getUsername() {
return username;
}
}
public class LoginAction implements ModelDriven<User>{
private User user=new User();
public String execute(){
if(user==null){
System.out.println("no user...");
return "error";
}
System.out.println("username:"+user.getUsername());
System.out.println("password:"+user.getPassword());
return "error";
}
public User getModel() {
return user;
}
}
转载于:https://www.cnblogs.com/skiz/archive/2012/09/03/2669422.html
最后
以上就是谨慎帆布鞋为你收集整理的struts2获取前台数据的三种方式的全部内容,希望文章能够帮你解决struts2获取前台数据的三种方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复