comment afficher des cases à cocher pour sélectionner un ou plusieurs beans dans une layout:collection (je veux avoir un colomn des cases à cocher )
comment afficher des cases à cocher pour sélectionner un ou plusieurs beans dans une layout:collection (je veux avoir un colomn des cases à cocher )
Struts-Layout je suppose ?
Tu peux utiliser ceci peut-être
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <layout:checkboxes cols="3" key="id.message" property="selectedElement"> <layout:options property="laCollection"/> </layout:checkboxes>
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Pour que cela fonctionne, il faut définir une propriété, correspondant à celle que j'ai appelé selects, de type String[] dans l'ActionForm avec getter et setter.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <layout:collection property="uneCollection" selectType="checkbox" selectName="selects" selectProperty="propriete1"> <layout:collectionItem title="libellePropriete1" property="propriete1"/> <layout:collectionItem title="libellePropriete2" property="propriete2"/> </layout:collection>
Ce tableau de String, que tu pourras récupérer dans l'Action exécutée au submit du formulaire, contiendra les "propriete1" sélectées.
Modératrice Java - Struts, Servlets/JSP, ...
Merci
et si je veux récuperer toute une bean pas un seul champs de chaque ligne
j'ai tjr une erreur :
bout de code de JSP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 g.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:427) at org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:340) at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:684) at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715) at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
bout de code de l'action
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <jsp:useBean id="ListeCourriersBO" class="java.util.Vector" scope="session"/> <layout:grid align="center" > <layout:row> <layout:column> <layout:collection align="center" id="lesCourrierBO" styleClass="FORM" name="ListeCourriersBO" indexId="index" selectName="selects" selectType="checkbox" selectProperty="refcourrier" > <layout:collectionItem title="title.refcourrier" property="refcourrier" sortable="true"/> <layout:collectionItem title="title.refbor " property="refbor" sortable="true"/> <layout:collectionItem title="title.datebor" property="datebor" sortable="true"/> <layout:collectionItem title="title.refboc" property="refboc" sortable="true"/> <layout:collectionItem title="title.dateboc" property="dateboc" sortable="true"/> </layout:collection> </layout:column> </layout:row>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public ActionForward priseECCourrierBO ( ActionMapping mapping, HomeForm homeForm, HttpServletRequest request) throws Exception, ServletException, SQLException { GetListCourrierBOCmd getListCourrierBOCmd=new GetListCourrierBOCmd(); getListCourrierBOCmd.execute(); request.getSession().setAttribute("ListeCourriersBO",getListCourrierBOCmd.getListCourriersBO()); return mapping.findForward( "success");
Et si tu enlèves le tag jsp:useBean :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <jsp:useBean id="ListeCourriersBO" class="java.util.Vector" scope="session"/>
Modératrice Java - Struts, Servlets/JSP, ...
tjr la méme erreur
mais est ce que ce n'est pas correcte de mettre dans l'action
et dans la JSP on le recupére par
Code : Sélectionner tout - Visualiser dans une fenêtre à part request.getSession().setAttribute("ListeCourriersBO",getListCourrierBOCmd.getListCourriersBO());
Code : Sélectionner tout - Visualiser dans une fenêtre à part <jsp:useBean id="ListeCourriersBO" class="java.util.Vector" scope="session"/>
En Struts et en Struts-Layout, il n'est pas utile de coder le tag jsp:useBean.
A partir du moment où tu codes ceci :
il va automatiquement chercher la collection ListeCourriersBO dans le scope.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <layout:collection name="ListeCourriersBO" ...>
Sinon, le tag layout:collection est-il bien dans un tag layout:form ?
Modératrice Java - Struts, Servlets/JSP, ...
oui bien sur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <layout:form action="/PECCourrierBOAction" styleClass="FORM" method="POST"> <script type="text/javascript" language="JavaScript1.2" src="<%=ur%>/JS/apopwin.js"></script> <script type="text/javascript" src="/config/datagrid.js"></script> <layout:grid align="center" > <layout:row> <layout:column> <layout:collection align="center" id="lesCourrierBO" styleClass="FORM" name="ListeCourriersBO" indexId="index" selectName="selects" selectType="checkbox" selectProperty="refcourrier" >
L'erreur que tu obtiens apparaît à l'affichage du formulaire ou à la soumission ?
Modératrice Java - Struts, Servlets/JSP, ...
à la soumission
je veux porter a ta connaissance que j'ai essayé le meme code avec logic:iterate et ça marche bien
Peux-tu me donner l'erreur en entier (avec la cause mère) ?
Modératrice Java - Struts, Servlets/JSP, ...
Alors, d'où venait l'erreur ?
Modératrice Java - Struts, Servlets/JSP, ...
Merci
Je suis sûr que le code est correct
J’ai enlevé la propriété selectName et ça marche bien
mais si tu as enlevé l'attribut selectName, comment récupères-tu les propriétés sélectées ?
Modératrice Java - Struts, Servlets/JSP, ...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager