从数据库重新填充struts2 checkboxlist数据

时间:2012-05-04 05:41:53

标签: jquery struts2 checkboxlist

我有一个像

这样的复选框

<s:checkbox name="modProcessVO.byWeeklyCal" id="week">Days of the Week</s:checkbox>

和另一个checkboxlist`

<s:checkboxlist list="{'Mon','Tue','Wed','Thur','Fri','Sat','Sun'}"   name="modProcessVO.weeklyCal" id="days" />`.

当我勾选复选框时,它的值将在数据库中存储为“true”,否则为“false”。如果它是'true',那么我只保存复选框列表中的已检查数据列表。因此,当我想修改数据时,我需要将其从DB重新填充到checkboxlist作为检查。我尝试将db中的日期用在一个名为'wordList'的字符串列表中,并用jsp编写,如

`<s:checkboxlist list="{'Mon','Tue','Wed','Thur','Fri','Sat','Sun'}" 
name="modProcessVO.weeklyCal" value="%{wordList}" id="days" />`. 

但是如果该列表中有5个值,则只有第一个值重新填充到checkboxlist。请帮忙。 感谢

2 个答案:

答案 0 :(得分:0)

wordList类型是否为Strin []?

private String[] wordList ;

更新回答

private String[] checkedItems;
checkedItems = new String[]{"Mon","Tue","Wed"};

在jsp页面

<s:checkboxlist list="checkboxListIs" name="checkedItem" value="checkedItems" label="Days"></s:checkboxlist>

列表,名称和值是我的动作类中的不同变量。

答案 1 :(得分:0)

在行动课

public class ScheduleAction extends ActionSupport {

private String checkListData;

private List<String> wordList;

public String modifySchedule() {
checkListData = modProcessVO.getCalWeek(); // retrieving checked items from database
    String regex=",";
    String[] test=checkListData.split(regex);
    wordList = new ArrayList<String>();
for(String str : test)
    {
        wordList.add(str.trim());
    }
return SUCCESS;
}
//getters and setters of variables

}

在jsp中,我赞不过

<s:checkboxlist list="{'Mon','Tue','Wed','Thur','Fri','Sat','Sun'}" name="modProcessVO.weeklyCal" id="days" value="wordList"/>