1

我有一个 Spring Roo 项目。我想在创建/更新表单中添加一个带有静态值的下拉列表框。

这是 create.jspx 文件。见srvEnco场。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<div xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:field="urn:jsptagdir:/WEB-  INF/tags/form/fields" xmlns:form="urn:jsptagdir:/WEB-INF/tags/form" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:spring="http://www.springframework.org/tags" version="2.0">
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
<jsp:output omit-xml-declaration="yes"/>
<form:create id="fc_fr_mediapost_domain_Srv" modelAttribute="srv" path="/srvs" render="${empty dependencies}">
    <field:input field="srvNom" id="c_fr_mediapost_domain_Srv_srvNom" max="30" required="true"/>
    <field:textarea field="srvDesc" id="c_fr_mediapost_domain_Srv_srvDesc"/>
    <field:select field="modId" id="c_fr_mediapost_domain_Srv_modId" itemValue="modId" items="${modsrvs}" path="/modsrvs" required="true"/>
    <field:select field="mntId" id="c_fr_mediapost_domain_Srv_mntId" itemValue="mntId" items="${mntsrvs}" path="/mntsrvs"/>
    <field:select field="opsId" id="c_fr_mediapost_domain_Srv_opsId" itemValue="opsId" items="${opses}" path="/opses" required="true"/>
    <field:select field="prcId" id="c_fr_mediapost_domain_Srv_prcId" itemValue="prcId" items="${prcs}" path="/prcs"/>
    <field:input field="srvSeri" id="c_fr_mediapost_domain_Srv_srvSeri" max="15"/>
    <field:input field="srvLoca" id="c_fr_mediapost_domain_Srv_srvLoca" max="30"/>
    <field:input field="srvImmo" id="c_fr_mediapost_domain_Srv_srvImmo" max="5"/>
    <field:input field="srvIp" id="c_fr_mediapost_domain_Srv_srvIp" max="15"/>
    <field:select field="srvEnco" id="c_fr_mediapost_domain_Srv_srvEnco" itemValue="Key" itemLabel="Value" items="${srvEnco}" path="" required="true"/>
    <field:datetime field="srvDateDebuVali" id="c_fr_mediapost_domain_Srv_srvDateDebuVali" dateTimePattern="${srv_srvdatedebuvali_date_format}"/>
    <field:datetime field="srvDateFinVali" id="c_fr_mediapost_domain_Srv_srvDateFinVali" dateTimePattern="${srv_srvdatefinvali_date_format}"/>
</form:create>
<form:dependency dependencies="${dependencies}" id="d_fr_mediapost_domain_Srv" render="${not empty dependencies}"/>

我在我的类控制器 (SrvController;java) 中添加了这个源代码。

@ModelAttribute ("srvEnco")
public Collection<KeyValue> populateSrvEnco() {
    int max=42;
    Collection<KeyValue> result = new ArrayList<KeyValue>(max);

for (int i = 1; i <= max; i++) {
    String keyValue = new Integer(i).toString();
        result.add(new DefaultKeyValue(keyValue, keyValue));            
    }
    return result;
}

问题是当我运行我的应用程序时,该srvEnco字段就像一个<field:input>标签,而不是一个<field:select>.

4

1 回答 1

0

好的,找到了。

我没有修改正确的 tagx 文件。使用正确的文件一切正常。

于 2012-10-25T09:47:23.690 回答