Struts2应用开发详解--11、请求参数的接收
Struts2中请求参数以action属性的方式被初始化赋值。所以在action类中的属性同页面提交的参数存在一一对应的关系。action中属性实现的get(),set()方法提供了Struts2框架注入值和在返回页面中获取值的渠道。
以下为参数接收的方式:
1、基本类型参数接收请求参数(get/post)
?
请求路径:http://localhost/test/add.action?id=100
.......
private Long id;
public void setId(Long id) {? //struts2使用反射技术调用与请求参数同名的属性的setter方法来获取请求参数值
? this.id = id;
}
public Long getId() {
? return id;
}
......
?
?
2、复合类型接收请求参数
请求路径:http://localhost/test/add.action?product.id=100
?
Action类代码片段
......
private Product prod;
public void setProd(Product prod) {??? this.prod= prod;
}
public Long getProd() {
? return prod;
}
....
?
Product 封装类
public class Product(){
?? private Long id;
?? public void setId(Long id) {??
???? this.id = id;
?? }
?? public Long getId() {
???? return id;
?? }
}
?
struts2首先通过反射机制调用Product的构造器创建prod对象,然后再通过反射技术调用prod中与请求参数同名的属性的setter方法获取请求参数。
?
以上两种参数页面返回值引用方式如下:
<body>
??? ${id} <br>? //基本参数引用
??? ${prod.id} <br>? //复合类型引用
? </body>
</html>
?
?