我目前正在开发一个Struts2应用程序,其中用户将做出三种选择之一,并根据选择将呈现许多不同的预定义复选框。无论做出何种选择,都会出现一些复选框,而其他复选框对于每个可以做出的选择都是唯一的。总共有大约50个不同的复选框,每个复选框都有一个ID,从1到50。
用户所做的选择将作为数据库中的行保留,如果用户想要更改所做的选择,我需要能够重新填充所选的复选框。
使用复选框列表不合适,因为我需要将复选框放在页面上的不同字段集中。所以我想我一直坚持常规。
现在,有没有人知道我怎么做: 1)检索所选的复选框,最好将它们放入我的操作中的列表/集合中 2)从已存储选择的列表中重新填充所选复选框?
非常感谢任何想法!
答案 0 :(得分:2)
1)要检索所选的复选框,请使用类似的内容(假设您正在使用JSP):
<input type="checkbox" name="YourName" id="checkbox-1" value="1" />
<input type="checkbox" name="YourName" id="checkbox-2" value="2" />
<input type="checkbox" name="YourName" id="checkbox-3" value="3" />
etc...
在Action类中,您可以将变量“YourName”检索为整数的ArrayList,例如,Struts2将自动填充选中的复选框ID。
2)例如,要重新填充“编辑”页面上的复选框,有许多可能的解决方案(您能否向我们提供有关您的体系结构,对象等的更多详细信息?)
在你的Action类中,你可以在列表中检索以前检查过的复选框的id(让我们称之为selectedList)。一旦在JSP视图中,你可以在你的复选框字段中添加“checked =”checked“”参数条件的ID包含在selectedList中。这样的事情应该有效:
<s:if test="'checkboxId' in selectedList">checked="checked"</s:if>