嗨,我正在为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");

将输出对象主题存储在数据库中。它工作得很好。
表中有csc(true/false)、ece(true/false)这样的字段。
现在我想保留像数据库值一样的复选框列表选项。如果字段为true,则必须在selected中,如果字段为false,则应在jsp中取消选择。
所以如何从数据库值中保留复选框列表中的值。如果是单个复选框,则可以轻松设置值字段。如果是列表框,如何继续。
欢迎对这项任务提出更多建议。提前谢谢!!!

最佳答案

一个简单的解决方案是创建两个列表(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}"/>

10-05 20:59
查看更多