Struts2传值比struts1.X要方便多了。主要包括:页面--->Action Action--->页面两个方面 (1):页面到--->Action ,其中页面写法如下: <s:form action="/ssh/reg.action" method="post"> <s:textfield label="UserName:" name="username"></s:textfield> //在action中直接写username属性和get和set方法
<s:textfield label="Age:" name="person.age"></s:textfield> //在action中写对象Person person和get和set方法。注意:此处绝对不能写类名:Person,而应该是对象person
<s:textfield label="Address:" name="person.address"></s:textfield> // 和person.age类似
<s:submit value="Login"></s:submit>
</s:form>
(2):action类写法:可以继承或者不继承ActionSupport类。注意是属性和get和set方法 public class RegAction extends ActionSupport{
private Person person;
private String username;
private List<Person> personList;
public List<Person> getPersonList() {
return personList;
}
public void setPersonList(List<Person> personList) {
this.personList = personList;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
/**其中还可以加单一属性,对象,集合(包括list和map)**/
@Override
public String execute() throws Exception {
List<Person> personList1 = new ArrayList<Person>();
Person person = new Person();
person.setAddress("hunan");
person.setAge(25);
Person person1 = new Person();
person1.setAddress("beijing");
person1.setAge(35);
personList1.add(person);
personList1.add(person1);
this.setPersonList(personList1);
return SUCCESS;
}
}
(3):action---->页面 (1):单一属性:<s:property value="username"/> //属性名 (2):对象:<s:property value="person.address"/> // 对象名+属性名 (3):list对象:List对象和Map对象
<s:iterator value="personList" id="Person"> // value是集合对象名,id是别名,可以随便取 <s:property value="#Person.age"/> // #+别名+属性名 其中#符号不可以缺少。
<s:property value="#Person.address"/> // 同上
</s:iterator>
(4)
<s:iterator value="map" id="id" status="st"> // value是集合对象名,id是别名,也可省,status也可以省。 key : <s:property value='key'/> // map的key值,其中,values只能为key或者value,不能为其他。
value:<s:property vlaue='value'/> //同上
</s:iterator>
总结:在传值的时候,也可以采用servlet或者struts1.X的方式用request,session 进行传值。比如:request/session.setAttribute(name,values)等方式。然后在页面中,在使用request/session.getAttribute(name);但是不建议这么去做,建议还是用struts2的方式传值。