gpt4 book ai didi

java - struts2 填充默认文本字段和下拉列表并绑定(bind)到模型

转载 作者:行者123 更新时间:2023-11-30 02:50:15 25 4
gpt4 key购买 nike

我想在页面加载时填充我的文本字段值和下拉值。当用户单击提交时,文本字段和下拉值应绑定(bind)到模型(Person 类)。

我该怎么做?

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 绑定(bind)。

要显示“你叫什么名字”文本,您有两种选择:

在操作类中,将人名设置为“What is your name”。

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 实现的操作。

关于java - struts2 填充默认文本字段和下拉列表并绑定(bind)到模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38918988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com