struts2傳值
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>
<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也可以省。<s:property value="#Person.address"/> // 同上
</s:iterator>
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)等方式。value:<s:property vlaue='value'/> //同上
</s:iterator>
然后在頁面中,在使用request/session.getAttribute(name);但是不建議這么去做,建議還是用struts2的方式傳值。
posted on 2012-08-27 23:30 奮斗成就男人 閱讀(968) 評論(0) 編輯 收藏 所屬分類: J2EE