如何从 Struts 2 中的选定对象中获取对象属性
我有一个 City
对象列表,其中包含 name
和 id
字段.我使用 Struts2,并且我有一个带有选择标签的 jsp 页面.
I have a list of City
objects with name
and id
fields. I use Struts2 and I a have jsp page with a select tag.
<s:select label="Source city"
list="cities"
name="source"/>
这里是 Action
类
public class CalculationAction extends ActionSupport {
private List<City> cities;
private DataAccessPerformer dao = new DataAccessPerformer();
private String source;
private int sourceId;
public CalculationAction() {
cities = new ArrayList<City>();
// getting cities from database
setCities(dao.getAllCities());
}
// getters and setters
}
城市
类
public class City {
private int id;
private String name;
@Override
public String toString() {
return getCityName();
}
// getters and setters
}
通过这种方式,我正在初始化 source
字段,但我无法获取 sourceId
.
In this way I'm getting source
field initialized, but I can't fetch sourceId
.
我尝试将 source
字段类型更改为 City
,但出现 FieldError
I tried to change source
field type to City
, but I got FieldError
字段源"的字段值无效.
Invalid field value for field "source".
我应该如何正确获取 id?
How should I properly fetch the id?
推荐答案
要将 id
设置为 select 标签的值,您应该使用附加属性
To set id
to the value of the select tag you should use additional attributes
<s:select label="Source city"
list="cities"
listKey="id"
listValue="name"
name="sourceId"/>
相关文章