struts的复选框html:multibox的问题

07-04-24 vitofh

为什么在页面上html:multibox的取值数组的长度为0;
JSP页面:
Vector vecPart=(Vector)session.getAttribute("partList");
TopicDisp partList=null;
if(vecPart!=null)
{
for(int i=0;i<vecPart.size();i++)
{
partList=(TopicDisp)vecPart.get(i);
%>
<tr bgcolor="#CCFFFF">
<td>
<html:multibox property="selectBox"><%=partList.getId()%></html:multibox><%=partList.getId()%>
</td>
<td><%=partList.getId()%></td>
<td><%=partList.getTitle()%></td>
<td><%=partList.getContent()%></td>
</tr>
<%
}
}

FORM页面:
private String[] selectBox=new String[0];

public String[] getSelectBox()
{
return selectBox;
}

public void setSelectBox(String[] selectBox)
{
this.selectBox = selectBox;
}

public void reset(ActionMapping mapping,HttpServletRequest request)
{
this.selectBox=new String[0];
}

ACTION部分为:
SaveRecrodForm sForm=new SaveRecrodForm();
String[] sId=sForm.getSelectBox();

System.out.println("sId.length="+sId.length);
for(int i=0;i<sId.length;i++)
System.out.println(sId);

banq
2007-04-24 17:53

<html:multibox property="selectBox"><%=partList.getId()%></html:multibox><%=partList.getId()%>

必须全部使用struts标签,不要自己加入Java语句,ActionForm中需要两个值:一个是多个字符串,一个是multibox选中的缺省值。