春天的下拉框

时间:2013-03-08 22:03:42

标签: spring jsp jstl el

我在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博客,但找不到方法。

1 个答案:

答案 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"/>