@RequestMapping(...)
public String get(@RequestParam List<Cmd> rows) {...}
處理程序,而且我用Spring forms tags生成的輸入。所以JSP代碼
<c:forEach var="i" begin="0" end="${fn:length(rows)}" >
<form:input path="rows[${i}].name" />
...
</c:forEach>
產生
<input name="rows[0].name" value="...' />
這一切都很好,但我也希望允許用戶動態地添加行,所以要寫入模板input
需求。但是,name="rows.name"
和name="rows[].name"
都不起作用,所以我必須編寫代碼來生成索引,這很煩人。
我在這裏錯過了什麼嗎?有沒有更好的方法來做到這一點?
編輯:
順便說一句,我試圖用Javascript生成動態name="rows[n].name"
,但如果用戶刪除在中間一排它成爲一個問題。重寫所有索引的代碼似乎是不合理的。
我最終在一些服務器端處理中使用了這個表單來消除由刪除條目創建的「空白」。 –
在我們的項目中,索引是使用Javascript進行管理的。所以你得到空值刪除索引或什麼? –
是的。當您從中間刪除行時,代碼先前崩潰。我添加了代碼以預先掃描列表,並在傳遞之前除去空值。使用javascript來管理索引似乎對於我正在處理的簡單表單來說太複雜了(它不會在任何地方使用異常來添加/刪除行)。 –