IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

[Struts-Layout][layout:datagrid] Probleme de données


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut [Struts-Layout][layout:datagrid] Probleme de données
    Bonjour.

    J'ai actuellement un petit soucis avec le datagrid de Struts-Layout.
    Le tout marche convenablement, sauf sur un element de mes données.

    Voilà le type de données de la datagrid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class Commande implements java.io.Serializable
    {
    	private	Integer	commandeId;
    	private	Rubrique	rubrique;
    	private	String	format;
    	private	Integer	qt;
    	private	String	color;
    
    ...
    }
    Je n'ai aucune probleme avec une datagrid contenant format, qt, color.
    Mais lorsque je rajoute rubrique (dans le jsp) j'ai un probleme.

    Rubrique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class Rubrique implements java.io.Serializable
    {
    	private	Integer	rubriqueId;
    	private	Integer	numero;
    	private	String	nom;
    ...
    }
    Les données sont de type SQL, c'est à dire que rubrique est reliée à commande grâce à rubriqueId en ForeignKey.
    J'utilise hibernate pour mapper le tout.

    Jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <layout:datagridSelect title="commande.rubrique" property="rubrique.rubriqueId">
    	<layout:options collection="rub_list" property="rubriqueId" labelProperty="nom" />
    </layout:datagridSelect>
    en suivant la logique de struts layout, je devrait mettre quelque chose dans le genre de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <layout:datagridSelect title="commande.rubrique" property="rubrique">
    	<layout:options collection="rub_list" property="this" labelProperty="nom" />
    </layout:datagridSelect>
    Mais bon ça ne fonctionne pas, et je suis à court d'idées...

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Qu'est-ce qui ne fonctionne pas exactement ?
    As-tu un message d'erreur ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    Le probleme est que dans mon bean, j'ai un attribut qui est un autre bean (chacun a un id unique)
    comme je l'ai dit :
    Commande a des attributs "simples" (String, Integer, etc...) ET un attribut de type Rubrique.
    Donc dans ma Datagrid de Commandes j'aimerai donc pouvoir selectionner la rubrique dans laquelle chaque commande sera référencée.
    Donc en gros ce que je n'arrive pas à faire c'est de relier la Datagrid de commande et le select qui contient une liste de rubrique (inclu dans la datagrid), car le select est une liste de rubriques.
    Le probleme ne se poserai pas si Commande (au lieu d'avoir un attribut de type Rubrique) avait un attribut de type Integer nommé rubriqueId, dans ce cas là le select ne poserai pas de problemes...

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Tout cela, je l'ai bien compris mais ce que j'aimerais savoir c'est si la liste de rubriques s'affiche, si tu as un message d'erreur,...
    Bref, où ça coince exactement ? à l'affichage, à la soumission ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    Sachant que ma datagrid est vide au départ
    il me met (lorsque je soumet)

    Exception :
    javax.servlet.ServletException: BeanUtils.populate
    org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
    org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    Cause mère :
    java.lang.IllegalArgumentException: No bean specified
    org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:751)
    org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:937)
    org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
    org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
    org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
    org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    Avec cette ligne dans le jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <layout:datagridSelect title="commande.rubrique" property="rubrique.rubriqueId">
    	<layout:options collection="rub_list" property="rubriqueId"
    			labelProperty="nom" />
    </layout:datagridSelect>
    Cela me parait logique, car il y a "rubrique.rubriqueId" en property dans le select.
    Le mieux serait donc de mettre "rubrique" seulement mais bon...

  6. #6
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Avec le message d'erreur, c'est plus facile de t'aider.

    Dans le constructeur de la classe Commande, as-tu codé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.rubrique=new Rubrique() ;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/05/2008, 14h55
  2. Réponses: 10
    Dernier message: 05/06/2007, 16h53
  3. [Struts-Layout] plusieurs datagrid dans une page jsp
    Par CaptainCyd dans le forum Struts 1
    Réponses: 2
    Dernier message: 04/06/2007, 16h43
  4. [Struts-Layout] layout:datagrid
    Par susimido dans le forum Struts 1
    Réponses: 1
    Dernier message: 04/04/2007, 10h03
  5. [Struts-Layout][layout:date] problème avec l'action
    Par nikoo_27 dans le forum Struts 1
    Réponses: 1
    Dernier message: 06/11/2006, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo