如何使用Struts2和Jquery预填充复选框?

如何使用Struts2和Jquery预填充复选框?,struts2,Struts2,我试图确定预填充使用Struts2表单标记创建的某些复选框的最佳/最简单方法。我的应用程序是一个“普通”的三层设置,在控制器层上使用Struts2 在我深入研究之前,标签是否支持创建所有可能复选框的列表,然后填充它(比如,通过下面的操作) 示例操作: public class UserManagementAction extends ActionSupport implements Preparable { private List<String> allRoles;

我试图确定预填充使用Struts2表单标记创建的某些复选框的最佳/最简单方法。我的应用程序是一个“普通”的三层设置,在控制器层上使用Struts2

在我深入研究之前,标签是否支持创建所有可能复选框的列表,然后填充它(比如,通过下面的操作)

示例操作:

public class UserManagementAction extends ActionSupport implements Preparable {

    private List<String> allRoles;
    private List<String> rolesToPrepopulate;

    // get/set methods

    public void prepare() throws Exception {
       // populate the allRoles and rolesToPrepopulate lists
    }

    public String execute() throws Exception {
        return INPUT;
    }
公共类UserManagementAction扩展了ActionSupport实现了Preparable{
私有列表所有角色;
私有列表角色预填充;
//获取/设置方法
public void prepare()引发异常{
//填充所有角色和角色预填充列表
}
公共字符串execute()引发异常{
返回输入;
}
(注意:假设struts.xml已经配置了返回输入的JSP)

谢谢你的帮助


Jason

我要做的是创建一个新的对象类,并将其用作复选框

例如:

public class StrutsCheckbox {
    private Integer id;
    private Boolean selected;
...
}
prepare()
方法中,您可以根据需要设置
selected
字段(以及
id

JSP中的下一步:

<s:iterator value="allRoles">
    <s:checkbox name="selected" id="selected" fieldValue="%{id}" value="%{selected}"/>
</s:iterator>

然后在提交操作中,所选集合将填充ID

public class UserManagementAction extends ActionSupport implements Preparable {

    private List<StrutsCheckbox> allRoles;
    private List<StrutsCheckbox> rolesToPrepopulate;
    private List<Integer> selectedCheckboxes;

    // get/set methods

    public void prepare() throws Exception {
       // populate the allRoles and rolesToPrepopulate lists
       // fill and set allRoles and/or rolesToPrepopulate
    }

    public String execute() throws Exception {
        return INPUT;
    }

    public String submit() throws Exception {
        // list selectedCheckboxes is filled with selected fields id's 
        return INPUT;
    }
公共类UserManagementAction扩展了ActionSupport实现了Preparable{
私有列表所有角色;
私有列表角色预填充;
私有列表选中复选框;
//获取/设置方法
public void prepare()引发异常{
//填充所有角色和角色预填充列表
//填充并设置所有角色和/或角色预填充
}
公共字符串execute()引发异常{
返回输入;
}
公共字符串submit()引发异常{
//列表selected复选框用所选字段id填充
返回输入;
}
也许通过一些修正它会起作用,但主要思想就在这里