大家好我正在为Struts2应用程序的JSP中的一个字段做复选框列表。
JSP中的代码:
<s:checkboxlist list="subjectList" name="subjects"/>
在行动中:
I have used some if/else condition to get the selected checkbox values in Action class as follows.
if(this.getSubjects().trim().contains("CSC"))
subject.setCSC("true");
else
subject.setCSC("false");
if(this.getSubjects().trim().contains("ECE"))
subject.setECE("true");
else
subject.setECE("false");
在数据库中存储输出对象主题。它工作正常。 在Table中有字段CSC(真/假),ECE(真/假)等。
现在我想保留checkboxlist选项,就像数据库值一样。如果该字段为true,则必须处于SELECTED状态,如果该字段为false,则应该在Jsp中为UNSELECTED。
那么如何从数据库值中保留checkboxlist中的值。如果是单个复选框,则可以轻松设置值字段。如果是列表框,则如何继续。
欢迎提出更多有关此任务的建议。在此先感谢!!!
答案 0 :(得分:4)
一个简单的解决方案是创建两个列表(arrayList
或任何基于集合的列表),其中一个应包含复选框的所有值,可用于在JSP中创建复选框,其他列表应包含只有那些被选中的值。假设你需要像
public class MyAction extends ActionSupport{
List<String> checkBoxList;
List<String> selectedCheckBoxList
// getters and setters
public String execute() throws exception{
checkBoxList=getAllCheckBoxes(); // fill this will all list values selected and unselected
selectedCheckBoxList=selectedCheckBoxes(); // only selected
return SUCCESS;
}
}
在你jsp所有你需要这样做
<s:checkboxlist list="%{checkBoxList}" name="checkBoxList" value="%{selectedCheckBoxList}"/>