条纹复选框和文本字段
所有 -
我正在使用条纹为我正在处理的问题做一些表单输入,并且我一直在研究如何最好地使用条纹和复选框提交一对数据..例如我的页面如下所示:
我有一个选项列表,用户可以通过单击该框来启用选择,还可以通过在旁边的文本字段中输入数据来为该项目提供一些输入:
<tr>
<td><stripes:checkbox name="item.enable" value="${item.id}"/></td>
<td><stripes:text name="item.value" value="${item.value}"/></td>
</tr>
.....
next item...
提交表单时,我希望我的 Collection<项目>
至已填充,但情况并非如此。
我如何才能最好地使用复选框字段提交一对项目。
提前致谢。
..克里斯
All -
I'm using stripes to do some form input for a problem I'm working on and I'm stuck on how best to submit a a pair of data using stripes and checkboxes.. for example my page looks like the following:
I have a list of options where users can enable a selection by clicking the box, and also supply some input for that item by entering data into the text field next to it:
<tr>
<td><stripes:checkbox name="item.enable" value="${item.id}"/></td>
<td><stripes:text name="item.value" value="${item.value}"/></td>
</tr>
.....
next item...
When the form is submitted I'd expect my Collection<Item>
to be populated yet that's not the case..
How can I best submit a pair of items using the check box fields.
Thanks in advance.
..Chris
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
阅读有关索引属性的文档。您需要通过将它们命名为
items[0]
、items[1]
等来告诉 Stripes 您有多个项目:这假设您的操作 bean 有一个 < code>setItems(List- items) 方法,该
Item
类具有公共无参数构造函数,并且具有setEnable(String itemId)
和一个setValue(String value)
方法。Read the documentation on indexed properties. You need to tell Stripes that you have multiple items, by naming them
items[0]
,items[1]
, etc.:This supposes that you action bean has a
setItems(List<Item> items)
method, that theItem
class has a public no-arg constructor, and has asetEnable(String itemId)
and asetValue(String value)
method.我会将其包装在 JSTL 'forEach' 标签 中,并将这些项目放在列表。与 JB Nizet 所说的类似,您还需要在操作 bean 中使用公共设置器。如果您将
Collection
与List
之外的某些实现一起使用,则以下代码段将不起作用。还有另一种情况,您不希望列表默认为 3 项。我想到的是当列表已经填充时。如果是这种情况,我会将
的 'end' 属性更改为:${fn:length(actionBean.items) == 0 ? 3 : fn:length(actionBean.items)-1}
I would wrap this in a JSTL 'forEach' tag and I would put the items in a List. Similar to what JB Nizet said, you also need public setters in the action bean. If you are using
Collection<Item>
with some implementation other thanList<Item>
the below snippet won't work.There is another case when you don't want the list to default to 3 items. The one I'm thinking of is when the list is already populated. If that is the case I would change the 'end' attribute of the
<c:forEach>
to be:${fn:length(actionBean.items) == 0 ? 3 : fn:length(actionBean.items)-1}