Checkbox 获取/设置列表中的多个struts2复选框

Checkbox 获取/设置列表中的多个struts2复选框,checkbox,struts2,Checkbox,Struts2,我目前正在开发一个Struts2应用程序,用户可以在其中做出三个选择中的一个,并根据选择显示许多不同的预定义复选框。无论做出何种选择,某些复选框都会出现,而对于可以做出的每个选择,其他复选框都是唯一的。目前总共有大约50个不同的复选框,每个复选框都有一个ID,从1到50 用户所做的选择将作为行保存在数据库中,如果用户希望更改所做的选择,我需要能够重新填充所选复选框 使用复选框列表并不合适,因为我需要将复选框放入页面上的不同字段集中。所以我想我还是坚持常规的 现在,有人知道我该如何: 1) 检索所

我目前正在开发一个Struts2应用程序,用户可以在其中做出三个选择中的一个,并根据选择显示许多不同的预定义复选框。无论做出何种选择,某些复选框都会出现,而对于可以做出的每个选择,其他复选框都是唯一的。目前总共有大约50个不同的复选框,每个复选框都有一个ID,从1到50

用户所做的选择将作为行保存在数据库中,如果用户希望更改所做的选择,我需要能够重新填充所选复选框

使用复选框列表并不合适,因为我需要将复选框放入页面上的不同字段集中。所以我想我还是坚持常规的

现在,有人知道我该如何: 1) 检索所选复选框,最好是将其放入“我的操作”中的列表/集合中 2) 是否从存储选择的列表中重新填充所选复选框

任何想法都非常感谢

1)要检索所选复选框,请使用如下内容(假设您使用的是JSP):

在Action类中,您可以将变量“YourName”检索为整数数组列表。例如,Struts2会自动使用选中的复选框ID填充该变量

2) 例如,要重新填充编辑页面上的复选框,有许多可能的解决方案(您能给我们提供一些有关您的体系结构、对象等的详细信息吗?)

在Action类中,可以在列表中检索以前选中的复选框的ID(我们称之为selectedList)。在JSP视图中,可以在selectedList中包含复选框ID的条件下,将“checked=“checked”参数添加到复选框字段中。类似的方法应该会奏效:

<s:if test="'checkboxId' in selectedList">checked="checked"</s:if> 
checked=“checked”

谢谢您的回答!我将使用JSP和struts2标记库,但我猜你的“问题是你不能将struts2标记放入另一个struts2标记中(因此不起作用)。根据经验,使用常规XHTML标记有时更方便。如果你想使用S2标记,你可以做如下操作:。要选中struts2复选框,你必须指定“true”对于值,这可能是一个难题(例如,如果您想在action类中获得另一个值)。这是因为否则你应该使用复选框列表,但它们也不总是方便的。啊,那么我明白你的意思了。看起来这正是我想要的,使用XHTML标记的方法比使用带有struts标记的if/else标记要干净得多。明天我将能够测试这种方法,然后我会带着结果回来!
<s:if test="'checkboxId' in selectedList">checked="checked"</s:if>