在struts2中有关<s:select></s:select>它的一个属性listKey="";通常里边写的都是id而需要保存String类型,例如name是varchar型的就把listKey="name"这样就保存成name属性了,但一般我们用<s:select>都是嵌套一个类,详细如下:
我有一个GoosType类,他有两个属性,1.id Long型 2. name String型
另一个是Goods类,在表单页面我的struts标签为<s:select list="goodsTypeList" name="goods.goodsType.id" listKey="id"
listValue="name" emptyOption="false" />
这样在数据库中保存的是外键id的值,现在我想改成保存GoosType类的name属性,我的做法是1.将listKey="name",先将name="goods.goodsType.id"--改为-->name="goodsName",在相应的Action 定义了一个String 类型的变量goodsName,并生成相应的get、set方法,结果在Action的方法里打印出了GoosType类的name属性的值
。有一个问题就是修改页面标签为<s:select list="goodsTypeList" name="goods.goodsType.name" listKey="name"
listValue="name" emptyOption="false" />
结果Tomcat会报Nested in org.apache.jasper.JasperException: tag
'select', field 'list', name 'goods.goodsType.id': The requested list key 'goodsTypeList' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]: tag 'select', field 'list', name 'goods.goodsType.id': The requested list key 'goodsTypeList' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]错,我的Goods类中与GoodsType类的外键关联是:在Goods类有private GoodsType goodsType;在相应的entity.hbm.xml配置文件里
<many-to-one name="goodsType" class="GoodsType" column="goodsType"/>
通过Hibernate自动生成表,我在数据库中查看了一下goodsType类型是BIGINT(20);
后来我的做法是让通过goods.goodsType.id值在从数据库中取一遍,虽然有些啰嗦吧,但也是一种解决办法。如果各位大侠有什么好的建议或意见,麻烦给介绍一下,在下谢谢各位了。
我有一个GoosType类,他有两个属性,1.id Long型 2. name String型
另一个是Goods类,在表单页面我的struts标签为<s:select list="goodsTypeList" name="goods.goodsType.id" listKey="id"
listValue="name" emptyOption="false" />
这样在数据库中保存的是外键id的值,现在我想改成保存GoosType类的name属性,我的做法是1.将listKey="name",先将name="goods.goodsType.id"--改为-->name="goodsName",在相应的Action 定义了一个String 类型的变量goodsName,并生成相应的get、set方法,结果在Action的方法里打印出了GoosType类的name属性的值
。有一个问题就是修改页面标签为<s:select list="goodsTypeList" name="goods.goodsType.name" listKey="name"
listValue="name" emptyOption="false" />
结果Tomcat会报Nested in org.apache.jasper.JasperException: tag
'select', field 'list', name 'goods.goodsType.id': The requested list key 'goodsTypeList' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]: tag 'select', field 'list', name 'goods.goodsType.id': The requested list key 'goodsTypeList' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]错,我的Goods类中与GoodsType类的外键关联是:在Goods类有private GoodsType goodsType;在相应的entity.hbm.xml配置文件里
<many-to-one name="goodsType" class="GoodsType" column="goodsType"/>
通过Hibernate自动生成表,我在数据库中查看了一下goodsType类型是BIGINT(20);
后来我的做法是让通过goods.goodsType.id值在从数据库中取一遍,虽然有些啰嗦吧,但也是一种解决办法。如果各位大侠有什么好的建议或意见,麻烦给介绍一下,在下谢谢各位了。