[英]struts2 populating default textfield and dropdown and binding to model
我想在頁面加載時填充我的textfield值和dropdown值。 當用戶單擊“提交”時,應將文本字段和下拉值綁定到模型(“人”類)。
我該怎么辦?
public class Person {
private String name;
private String food;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setFood(String food) {
this.food = food;
}
public String getFood() {
return food;
}
}
public class PersonAction extends ActionSupport implements ModelDriven {
private Map<String,String> foodList = new HashMap()<String,String>;
private String name = "What is your name?"
private Person person;
public String execute() {
foodList.put("IC","Ice Cream");
foodList.put("CA","Cake");
return SUCCESS;
}
public Object getModel() {
return person;
}
}
<s:form action="addPerson" >
<s:textfield name="name">
<s:select list="foodList" name="" />
<s:submit type="button" name="submit" />
</s:form>
您應該在標簽s:select和s:textfield中使用name屬性。
<s:textfield name="name">
<s:select list="foodList" name="food" />
這樣,該字段將在操作中與getModel()。name和getModel()。food綁定。
要顯示“您叫什么名字”文本,您有兩個選擇:
在動作類中,將人員姓名設置為“您叫什么名字”。
public String execute() {
person = new Person();
person.setName("What is your name?");
foodList.put("IC","Ice Cream");
foodList.put("CA","Cake");
return SUCCESS;
}
或者,您可以使用占位符標簽屬性在默認情況下顯示“您的名字”文字。
<s:textfield name="name" placeholder="What is your name?">
我編輯了答案,以使用modelDriven實現的動作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.