0

我在 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>

这使用 JSTLforEach循环来迭代项目列表。是一个列表,其中包含使用 HQL 从数据库中检索到的szoneList数组,如下所示。ObjectList<Object[]>

List<Object[]>zoneList=sessionFactory.getCurrentSession().createQuery("select z.zoneId, z.zone from Zone z order by z.zoneId").list();

我想使用<form:options>. 我如何指定itemLabel和 的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

<form:options items="${zoneList}" itemLabel="" itemValue=""/>

我正在使用 Spring 3.2.0。我指的是这个博客,但找不到路。

4

1 回答 1

1

将您的休眠查询更改为

List<Zone> zoneList = sessionFactory.getCurrentSession().createQuery(
    "select z from Zone z order by z.zoneId").list();

现在您有了具有属性的对象,您可以使用

<form:options items="${zoneList}" itemLabel="zone" itemValue="zoneId"/>
于 2013-03-08T22:57:30.503 回答