Tags 如何使用struts标记迭代器和OGNL实现多行选择

Tags 如何使用struts标记迭代器和OGNL实现多行选择,tags,iterator,struts,selection,ognl,Tags,Iterator,Struts,Selection,Ognl,我想做多行选择。行通过strut2标记s:iterator显示,如何获取选择信息,其中应包含所选“id”的列表 在我看来,一个选项是在表单中创建一个隐藏字段,如 <s:form action="selection"> <input type='hidden' name="selectedId" value=""/> </s:form> 您可以将单击事件添加到复选框中,如果选中该复选框,您可以将值t添加为变量并在隐藏字段中设置,每个新添加的值应以逗号分隔的

我想做多行选择。行通过strut2标记s:iterator显示,如何获取选择信息,其中应包含所选“id”的列表


在我看来,一个选项是在表单中创建一个隐藏字段,如

<s:form action="selection">
<input type='hidden' name="selectedId" value=""/>
</s:form>

您可以将单击事件添加到复选框中,如果选中该复选框,您可以将值t添加为变量并在隐藏字段中设置,每个新添加的值应以逗号分隔的方式添加为新值,就像在结束隐藏字段中一样

<input type='hidden' name="selectedId" value="1,2,3,4"/>

提交表单时,您可以解析表单值,并根据分隔符“
”,“


另一种选择是将复选框命名为相同的名称,以便在提交该复选框时,选中复选框的值将作为一个集合提交,选择权归您所有,您需要决定选择哪种方式

我很高兴我能自己回答这个问题。 答案很简单

<s:form action="..." >
 <s:iterator value="transInfos">
  <input type="checkbox" name="transIds" value='<s:property value="transID" />'/>
 </s:iterator>                          
 <s:submit value="Select"/>
</s:form>

复选框的值是您要传递给操作的值,所有选中的复选框都会将其值作为列表传递给操作

<s:form action="..." >
 <s:iterator value="transInfos">
  <input type="checkbox" name="transIds" value='<s:property value="transID" />'/>
 </s:iterator>                          
 <s:submit value="Select"/>
</s:form>