【发布时间】:2011-01-29 14:33:24
【问题描述】:
我对 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>
<% }
%>
【问题讨论】: