2011-11-04 84 views
2
<#list flowList as flow> 
    <@spring.formInput "flow.createDatetime" /> 
</#list> 

flowList是arrayList。@ spring.formInput #list iterator

 
freemarker.template.TemplateModelException: Method public org.springframework.web.servlet.support.BindStatus org.springframework.web.servlet.support.RequestContext.getBindStatus(java.lang.String) throws java.lang.IllegalStateException threw an exception when invoked on [email protected] with arguments of types [java.lang.String,] 
    at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:134) 
    at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) 

我怎樣才能在#list解決@spring.formInput

回答

0

以下解決方法對我的作品,但很醜陋:

<#list flowList as flow> 
    <#assign index=flowList?seq_index_of(flow)> 
    <@spring.formInput "flowList[${index}].createDatetime" /> 
</#list> 

當上述形式發佈後,您需要確保流列表預填充了空流。或者,只需使用Spring的AutoPopulatingList作爲流程列表實現。

0

對於彈簧來綁定對象,必須提供確切的參考。因此,您需要在標籤中添加索引。當您發佈表單並希望將流表對象作爲控制器方法中的請求主體時,這是必需的。

<#list flowList as flow> 
    <@spring.formInput "flowList[${flow_index}].createDatetime" /> 
</#list> 

,如果你看一下HTML渲染後,它會像

<input type="text" id="flowList0.createDatetime" name="flowList[0].createDatetime" value="..." /> 
相關問題