struts2提供了两种请求参数的接受方式
文章使用的配置文件
<struts>
<constant name="struts.i18n.encoding" value="UTF-8" />
<package name="Action" namespace="/" extends="struts-default">
<action name="execute" class="Action.testAction">
<result>/execute.jsp</result>
</action>
</package>
</struts>
- 采用基本类型接受请求参数(get/post)
这种是最基本的方式,就是在action中定义相应的属性和方法并实现getter()和setter()方法来接受。
请求路径:http://localhost:8080/testStruts/execute?id=1
public class testAction extends ActionSupport{
private int id;
public String execute() throws Exception {
return "success";
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
- 采用复合类型接受请求参数
请求路径:http://localhost:8080/testStruts/execute?person.name=1
public class testAction extends ActionSupport{
private Person person;
public String execute() throws Exception {
return "success";
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
}
使用反射技术,先去调用默认构造函数,然后调用相应的getter()和setter()方法,所以一定要有一个默认的构造函数
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person() {
}
}