Stripes 条纹复选框和文本字段
全部- 我正在使用条纹为我正在处理的一个问题做一些表单输入,我一直在研究如何最好地使用条纹和复选框提交一对数据。。例如,我的页面如下所示: 我有一个选项列表,用户可以通过单击框来启用选择,还可以通过在旁边的文本字段中输入数据来为该项目提供一些输入:Stripes 条纹复选框和文本字段,stripes,Stripes,全部- 我正在使用条纹为我正在处理的一个问题做一些表单输入,我一直在研究如何最好地使用条纹和复选框提交一对数据。。例如,我的页面如下所示: 我有一个选项列表,用户可以通过单击框来启用选择,还可以通过在旁边的文本字段中输入数据来为该项目提供一些输入: <tr> <td><stripes:checkbox name="item.enable" value="${item.id}"/></td> <td><stripes:text na
<tr>
<td><stripes:checkbox name="item.enable" value="${item.id}"/></td>
<td><stripes:text name="item.value" value="${item.value}"/></td>
</tr>
.....
next item...
当表单提交时,我希望我的收藏会被填充,但事实并非如此
如何最好地使用复选框字段提交一对项目
提前谢谢
…克里斯读这篇文章。您需要告诉Stripes您有多个项目,方法是将它们命名为项目[0]、项目[1],等等:
这假设您的action bean有一个setItemsList items方法,Item类有一个公共的无参数构造函数,有一个setEnableString itemId和一个setValueString value方法。我将把它包装在一个列表中,并将这些项放在一个列表中。与JB Nizet所说的类似,您还需要Actionbean中的公共setter。如果将集合与列表以外的其他实现一起使用,则下面的代码段将不起作用
<c:forEach var='itemIndex' begin='0' end='2'>
<c:set scope='page' var='item' value='${items[itemIndex]}'>
<tr>
<td><stripes:checkbox name="items[${itemIndex}].enable" value="${item.id}"/></td>
<td><stripes:text name="items[${itemIndex}].value" value="${item.value}"/></td>
</tr>
</c:forEach>
还有一种情况是,您不希望列表默认为3项。我想到的是当列表已经填充时。如果是这种情况,我会将的'end'属性更改为:${fn:lengthactionBean.items==0?3:fn:lengthactionBean.items-1}
<c:forEach var='itemIndex' begin='0' end='2'>
<c:set scope='page' var='item' value='${items[itemIndex]}'>
<tr>
<td><stripes:checkbox name="items[${itemIndex}].enable" value="${item.id}"/></td>
<td><stripes:text name="items[${itemIndex}].value" value="${item.value}"/></td>
</tr>
</c:forEach>