我有一个City带有name和id字段的对象列表。我使用Struts2,我有一个带select标记的jsp页面。
City
name
id
<s:select label="Source city" list="cities" name="source"/>
这是Action课
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 }
City 类
public class City { private int id; private String name; @Override public String toString() { return getCityName(); } // getters and setters }
这样source,我就可以对字段进行初始化,但是无法获取sourceId。
source
sourceId
我尝试将source字段类型更改为City,但得到了FieldError
FieldError
字段“源”的字段值无效。
我应该如何正确获取ID?
要设置id为select标签的值,您应该使用其他属性
<s:select label="Source city" list="cities" listKey="id" listValue="name" name="sourceId"/>