Struts2复选框在Action类中返回值

我对struts2很新,所以我试图发布你理解我的问题所需的一切,非常感谢你的帮助。试着更清楚,我在这个问题上缺乏想法,即使它听起来像一个经典。
<s:checkbox name="selectedIndex" theme="simple" >
</s:checkbox>
我的JSP中有动态数量的复选框。让我说我的jsp中有三个复选框。然后,如果用户选择第一个和第二个复选框,那么我想要一个动作类中的数组,其元素为{1,2}。如果用户选择第一个,第三个复选框然后我想要一个动作类中的数组,其元素是{1,3}。我怎么能在struts2中做到这一点? 我在行动班中得到了getter和setter:
public String[] getSelectedIndex() {
return selectedIndex;
}

public void setSelectedIndex(String[] selectedIndex) {
this.selectedIndex = selectedIndex;
}
所以actionClass给我真假。 在下面的代码中,List1(存储在会话对象中)是StatusDTO和getter的列表,setter如下 StatusDTO的元素是 : -
public boolean getIsDisabled()
{
return this.isDisabled;
}

public void setIsDisabled(boolean isDisabled)
{
this.isDisabled=isDisabled;
}

public int getSerialNo()
{
return this.serialNo;
}

public void setSerialNo(int serialNo)
{
this.serialNo=serialNo;
}
jsp中的实际代码是
<%
ArrayList temp=(ArrayList)ActionContext.getContext().getSession().get("List1");
Iterator itr=temp.iterator();
while(itr.hasNext())
{
StatusDTO psd=(StatusDTO)itr.next();
System.out.println("********"+psd.getSerialNo());
%>
<tr>
<td bgcolor="#E6FAFB">
<%=psd.getSerialNo()%>
</td>
<td bgcolor="#E6FAFB">
<%
if(psd.getIsDisabled())
{
%>
<s:checkbox name="selectedIndex" theme="simple" disabled="true">
</s:checkbox>
<%
}
else
{
%>
<s:checkbox name="selectedIndex" theme="simple" value="1">
</s:checkbox>
<%}
%>

</td>
</tr>
<% }
%> 
    
已邀请:
员工豆应该有
private boolean delete; /// with its setter and getter
JSP
<s:iterator name="staffList" status="bean_rowNum">
    <s:checkbox name="staffList[%{#request.attr.bean_rowNum-1}].delete" />
</s:iterator>
在提交时,您将获得选中复选框为真     
我更喜欢List到数组......让这个非常简短的例子工作,它将告诉你如何动态选择复选框。 该演示列出了许多用数字标记的复选框,从第一个列表中选择的框将出现在第二个列表中,在第二个列表中选择的框将成为无序列表的一部分。 JSP“checkboxes.jsp”
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
    <body>
        <h1>All Check Boxes</h1>
        <s:form action="checkboxes">
            <s:checkboxlist name="selectedBoxes" list="allBoxes"/>
            <s:submit/>
        <h1>Selected Check Boxes</h1>
            <s:checkboxlist name="selectedSelectedBoxes" list="selectedBoxes"/>
            <s:submit/>
        </s:form>
        <h1>Values chosen from selected Check boxes</h1>
        <ul>
            <s:iterator value="selectedSelectedBoxes">
                <li><s:property/></li>
            </s:iterator>
        </ul>
    </body>
</html>
动作类“Checkboxes.java”
package struts2;

import com.opensymphony.xwork2.ActionSupport;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Checkboxes extends ActionSupport{
    public List<Integer> allBoxes = Arrays.asList(1,2,3,4,5,6,7,22,33,44); //ten elements
    public List<Integer> selectedBoxes = new ArrayList();
    public List<Integer> selectedSelectedBoxes = new ArrayList();
}
如果使用约定,如果使用xml操作“checkboxes”映射到类“struts2.Checkboxes”,这是直截了当的。 您可以从示例中看到,所选复选框的显示状态与无序列表中的内容之间可能存在不一致。这在动作方法中很容易纠正,但会使示例更长,并且有损于说明复选框的功能。还有一些人觉得用getter和setter封装字段是一个好主意,但同样会大大扩展代码长度。     

要回复问题请先登录注册