`

Struts2 -- 2

阅读更多

Struts2 接收参数的方式:

1. action的属性:
在action 里面定义要接收的参数,并提供相应的setter,getter 和提交参数的名称一致,并不用做数据类型的转换。

相应提交方式可以用get 和post, 如:testAction?name=admin

public class TestAction extends BaseAction{
	private String name;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void execeute() {
		System.out.println(name +" : " + name);
	} 
}

 

 

2.Domain Model式

在Action 里面不存很多的属性,而是用Model 层用到的模型,保存它的一个对象。相应提交方式可以用get 和post,
如:testAction? resBananRc.name=admin

 

public class TestAction extends BaseAction{
	private ResBananRc resBananRc;
	public ResBananRc getResBananRc() {
		return resBananRc;
	}
	public void setResBananRc(ResBananRc resBananRc) {
		this.resBananRc = resBananRc;
	}
	public void execeute() {
		System.out.println("姓名: " + resBananRc.getName());
	}
}

 

3. 使用DTO--数据传输对象

它的作用是接收参数,传递参数,并不是项目中的实体类。如用户注册时,会用到确认密码,所以要先把参数接收过
来,做处理后,再传递给相应方法去创建User 对象。提交参数的方式的Domail Model 方式的相同。

 

DTO:
public class UserDTO {
	private String name;
	private String password;
	private String confirm;
	public String getName() {
		return name;
	} 
	public void setName(String name) {
		this.name = name;
	} 
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	} 
	public String getConfirm() {
		return confirm;
	} 
	public void setConfirm(String confirm) {
		this.confirm = confirm;
	}
}

Action:
public class TestAction extends BaseAction{
	private UserDTO userDTO;
	public UserDTO getUserDTO() {
		return userDTO;
	} 
	public void setUserDTO(UserDTO userDTO) {
		this.userDTO = userDTO;
	}
	public void execeute() {
		System.out.println("姓名: " + userDTO.getName());
	}
}

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics