displaytag, cómo integrar casillas de verificación?
-
23-09-2019 - |
Pregunta
Yo uso displaytag en un grano de lista: utilisateurBean
. Tengo que añadir una columna de esta ficha para añadir una casilla de verificación para seleccionar un elemento.
Pb: Con un aspecto del displaytag
puntales para el choixUtilisateur
propiedad en el grano y no en el formBean
. ¿Hay una manera de hablar puntales / displaytag para mapear esta propiedad en forma? No entiendo la mezcla de la capa prestenation / capa de negocio que esto implica.
Yo entiendo que iterar sobre el grano y que busca la propiedad. Pero yo no entendía el mapeo de la propiedad decorador en la capa de negocio.
Mi código:
<html:form action="/rechercheUtilisateur"
name="formRechercheUtilisateur"
decorator="org.displaytag.render.DecorateurCheckbox"
type="lan.poujoulat.osac.forms.FormRechercheUtilisateur">
...
<div align="center"><display:table style="width: 100%;"
class="mars" sort="list"
name="formRechercheUtilisateur.listeUtilisateurs"
id="formRechercheUtilisateur.listeUtilisateurs"
decorator="org.displaytag.render.DecorateurCheckbox"
cellspacing="4" cellpadding="2" pagesize="10"
requestURI="rechercheUtilisateur.do" export="true" >
<display:column title="id" property="id" sortable="true"
style="color: black;" headerClass="sortable"></display:column>
...
<display:column media="html" property="choixUtilisateur" title=" "></display:column>
...
</display:table></div>
</html:form>
El DecorateurCheckbox.java
casilla para agregar a mi cuenta:
public class DecorateurCheckbox extends TableDecorator{
...
public String getChoixUtilisateur()
{
String retour = "";
UtilisateurBean user= (UtilisateurBean) getCurrentRowObject();
int idUser ;
idUser = user.getId();
retour = "<input type='checkbox' name='formRechercheUtilisateur' property='choixUtilisateur' value='"+idUser+"' id='selectedArticle" + idUser + "' />";
return retour;
}
...
}
Error:
/Administration/acces.jsp. Excepción: javax.servlet.ServletException: Error al buscar la propiedad "choixUtilisateur" en el tipo de objeto "Xxx.UtilisateurBean".
Solución
public class DecorateurCheckbox extends TableDecorator{
public String getChoixUtilisateur()
{
String retour = "";
UtilisateurBean user= (UtilisateurBean) getCurrentRowObject();
int idUser ;
idUser = user.getId();
retour = "<input type='checkbox' name='utilisateurModif' property='choixUtilisateur' value='"+idUser+"' id='" + idUser + "' />";
return retour;
}
}
utilisateurModif es la propiedad de formulario y choixUtilisateur es propiedad displaytag con el decorador: jsp:
<display:column property="choixUtilisateur" title="modif"></display:column>