Bonjour,
J'ai réalisé un datagrid d'un pour une autre table de ma base, avec un bean tres simple ( juste des String ), toutes les fonctionnalités du datagrid fonctionne , add save remove.
Maintenant je souhaite réaliser un datagrid d'ObligationInitiale contenant une Periodicité un peu plus compliqué, le datagrid s'affiche, mais je bloque sur le save.
le bean ObligationInitiale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <layout:datagrid property="datagrid" model="datagrid" styleClass="DATAGRID" > <layout:datagridColumn title="Titre" property="titre"/> <layout:datagridSelect title="Périodicite" property="periodicite.id"> <layout:options collection="periodicites" property="id" labelProperty="libelle"/> </layout:datagridSelect> </layout:datagrid> <layout:row> <layout:button onclick="StrutsLayout.addDatagridLine('datagrid')">Ajouter</layout:button> <layout:button onclick="StrutsLayout.setDatagridLineState('datagrid', 'removed')">Supprimer</layout:button> <layout:submit reqCode="update" >Sauvegarder</layout:submit> </layout:row>
qui a une periodicité :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public class ObligationInitiale implements Serializable { private String titre; private Periodicite periodicite;
dans mon form, je prepare le terrain :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public class Periodicite implements Serializable { private String id; private String libelle;
j'initialise mon datagrid :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public ConsulterObligationInitialeForm() { periodicites = new ArrayList<String>(); ArrayList<ObligationInitiale> liste = new ArrayList<ObligationInitiale>() ; datagrid = Datagrid.getInstance(); datagrid.setDataClass(ObligationInitiale.class); datagrid.setData(liste); }
mon config :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 consulterObligationInitialeForm.setDatagrid(datagrid); ArrayList periodicites = PeriodiciteFactory.getAll(); request.getSession(false).setAttribute("periodicites", periodicites);
si j'enleve le datagridSelect , je rentre dans ma methode update mais avec :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <form-bean name="consulterobligationinitialeForm" type="form.ConsulterObligationInitialeForm"> <form-property name="reqCode" type="java.lang.String"/> <form-property name="id" type="java.lang.String"/> </form-bean>
dans ma console d'eclipse :
sur le navigateur :11:16:00,734 ERROR [[action]] Servlet.service() for servlet action threw exception
java.lang.IllegalArgumentException: No bean specified
at org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:751)
merci de votre aidejavax.servlet.ServletException: BeanUtils.populate
Partager