Estou tendo um grande problema com checkboxes dinâmicos indexados a partir de um form-bean para validação.
Meu struts-config:
<form-bean name="perfilForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="perfilId" type="java.lang.String" />
<form-property name="perfilNome" type="java.lang.String" />
<form-property name="perfilOpcao" type="java.lang.String[]" />
</form-bean>
Meu jsp:
<c:forEach var="opcaoMenu" items="${opcaoMenuBean}">
<c:choose>
<c:when test="${opcaoMenu.opcaoPrograma == 1}">
<tr class="table_form_interna_tr_programa">
</c:when>
<c:otherwise>
<tr class="table_form_interna_tr_negrito">
</c:otherwise>
</c:choose>
<td>
<html:checkbox name="perfilForm" property="perfilOpcao" indexed="true" />
</td>
<c:choose>
<c:when test="${opcaoMenu.opcaoNivel == 1}">
<td>&nbsp;&nbsp;&nbsp;<c:out value="${opcaoMenu.opcaoTexto}" /></td>
</c:when>
<c:when test="${opcaoMenu.opcaoNivel == 2}">
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<c:out value="${opcaoMenu.opcaoTexto}" /></td>
</c:when>
<c:otherwise>
<td><c:out value="${opcaoMenu.opcaoTexto}" /></td>
</c:otherwise>
</c:choose>
</tr>
</c:forEach>
OpcaoMenu é um bean com definições das opções de menu a serem exibidas:
public OpcaoMenu() {
this.opcaoId = "";
this.opcaoTexto = "";
this.opcaoIndice = 0;
this.opcaoNivel = 0;
this.opcaoPrograma = 0;
}
Meus problemas:
1.O html gerado está trazendo para cada checkbox algo como:
<input type=“checkbox” name=“perfilForm[0].perfilOpcao” value=“on”> O correto não seria algo como …perfilOpcao[0]…
2.Como trato isso no action. Já tentei de diversas formas e nada.
Enfim, alguém poderia me ajudar indicando alguma fonte que me desse um exemplo funcional de checkboxes indexados a partir de um for-ben para validação. Uso struts 1.2.9, tomcat 4.1.31
Obrigado. Qualquer ajuda será muito bem vinda.