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>