Java 从bean生成表单元素的struts

Java 从bean生成表单元素的struts,java,jsp,struts,struts-1,Java,Jsp,Struts,Struts 1,我在JSP页面中有一个Struts1.2bean和一个Bean代码,如下所示 checkBox.jsp <logic:iterate property="userList" id="userDet" name="userDetails"> <html:checkbox property="checked" name="userDet" indexed="true"> <bean:write property="userName" name="userDet

我在JSP页面中有一个Struts1.2bean和一个Bean代码,如下所示

checkBox.jsp

<logic:iterate property="userList" id="userDet" name="userDetails">
  <html:checkbox property="checked" name="userDet" indexed="true">
   <bean:write property="userName" name="userDet"></bean:write>
  </html:checkbox>
</logic:iterate>

上面的代码产生如下输出

现在,当我提交表单时,我想使用复选框的ID执行Javascript验证


如何为Bean在JSP页面中生成的复选框生成id?是否可以动态生成id属性

尝试使用'indexId'属性(页面范围jspbean的名称,该jspbean将在每次迭代中包含集合的当前索引)。 )的


并在

<html:checkbox>

像这样:

<logic:iterate property="userList" id="userDet" name="userDetails" indexId="checkBoxIndex">
  <html:checkbox property="checked" name="userDet" indexed="true" styleId="checkBox<%= checkBoxIndex %>">
   <bean:write property="userName" name="userDet"></bean:write>
  </html:checkbox>
</logic:iterate>


将属性添加到标记。最佳解决方案取决于实际验证的方式。如果您只想确保至少选中一个复选框,我会使用一个类。这还取决于是否使用jQuery/etc等JS库。
<logic:iterate property="userList" id="userDet" name="userDetails" indexId="checkBoxIndex">
  <html:checkbox property="checked" name="userDet" indexed="true" styleId="checkBox<%= checkBoxIndex %>">
   <bean:write property="userName" name="userDet"></bean:write>
  </html:checkbox>
</logic:iterate>