我在Spring中有一个类似下面的选择框。
<form:select path="cmbZone" multiple="false" class="validate[required] text-input tooltip" title="Mandatory select field.">
<form:option value="">Select</form:option>
<c:forEach items="${zoneList}" var="row">
<form:option value="${row[0]}">${fn:escapeXml(row[1])}</form:option>
</c:forEach>
</form:select>
这使用JSTL forEach
循环来迭代项列表。 zoneList
是一个列表,其中包含使用HQL从数据库检索到的Object
数组List<Object[]>
,如下所示。
List<Object[]>zoneList=sessionFactory.getCurrentSession().createQuery("select z.zoneId, z.zone from Zone z order by z.zoneId").list();
我希望使用<form:options>
实现相同目标。如何指定itemLabel
的{{1}}和itemValue
属性?
<form:options>
这会是<form:select path="cmbZone" multiple="false" class="validate[required] text-input tooltip" title="Mandatory select field.">
<form:option value="">Select</form:option>
<form:options items="${zoneList}"/>
</form:select>
和itemLabel
的内容吗?
itemValue
我正在使用Spring 3.2.0。我指的是this博客,但找不到方法。
答案 0 :(得分:1)
将您的Hibernate查询更改为
List<Zone> zoneList = sessionFactory.getCurrentSession().createQuery(
"select z from Zone z order by z.zoneId").list();
现在你有了具有属性的对象,你可以使用
<form:options items="${zoneList}" itemLabel="zone" itemValue="zoneId"/>