私は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>
.