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]pb de Bean define


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut [Struts]pb de Bean define
    Bonjour,

    j'ai un objet X qui est composé de plusieurs objets.
    J'ai un getteur dans mon objet X qui me renvoit un objet Z.
    J'aimerais définir un bean dans ma page jsp du genre:

    <bean:define id="objZ" name='objX' property="objZ"/> en admettant que j'ai getObjZ() comme getter de X.

    Ceci dans le but d'utiliser <bean:write...... afin d'accéder au propriétés de mon objet Z.

    La solution décrite ci-dessus ne fonctionne pas, existe t il un autre moyen avec struts pour obtenir cela.

    J'aimerais éviter la solution de réécrire tous les getter de mon objet Z dans l'objet X.

    Merci de votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 90
    Points
    90
    Par défaut
    admettont tu a un objet login qui contient un objet personne qui a un nom
    avec login.getPersonne() qui renvoit l'objet personne et
    personne.getNom() qui renvoit le nom de la personne

    tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <bean:define name="nomDeMonObjLoginDansUnScope" id="monLogin" type="com.test.Login"/>
     
    <bean:write id="monLogin" proerty="personne.nom"/>
    voila

    Loïc

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut
    Ca ne fonctionne pas. Je suis en struts 1.1.

    J'ai bon objet Hl avec le getter getAvoir qui renvoit un objet RejetAvoir.
    Rejet avoir a plusieur getXXX.

    j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <bean:define name="myHl" id="myHl" type="hl.Hotline"/>
    <bean:write name="myHl" proerty="avoir.xxx"/>
    J'ai cette erreur:

    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
    16
    17
    18
    19
    20
    21
     
    type Rapport d'exception
     
    message 
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    org.apache.jasper.JasperException: Null property value for 'avoir'
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
    	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 90
    Points
    90
    Par défaut
    j'ai fait une faute de frappe c property et pas proerty dsl

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut
    Oui je sais j'ai juste fé un copier coller de ton exemple....Mais ça ne marche pas mieux :-(

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 90
    Points
    90
    Par défaut
    tu peux montrer le code de ta jsp et de tes objets ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut
    Voila:

    Ma jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <bean:define id="myHl" name="myHl" type="hl.HotLine" scope="session"/>
    <tr >
    				<td align='center' class='bord'><bean:write name="myHl" property="avoir.avoirCode"/></td>
    				<td align='center' class='bord'><bean:write name="myHl" property="avoir.reliquat"/>
    				<td align='center' class='bord'><bean:write name="myHl" property="avoir.articleCode"/></td>
    				<td align='center' class='bord'><bean:write name="myHl" property="avoir.lotCode"/></td>
    				<td align='center' class='bord'><bean:write name="myHl" property="avoir.dateAvoir"/></td>
    			</tr>
    Mon objet qui correspond à myHl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public RejetAvoir getAvoir()
    {
    return this.mDatePer.getAvoir();
    }
    Et enfin mon objet RejetAvoir:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    public class RejetAvoir {
     
    	private String mAvoirCode;
    	private int mReliq;
    	private String mArticleCode;
    	private String mLotCode;
    	private String mDateAvoir;
     
     
    	public RejetAvoir(String avoirCode,int reliq,String artCode,String lotCode,String dateAvoir)
    	{
    		this.mAvoirCode=avoirCode;
    		this.mReliq=reliq;
    		this.mArticleCode=artCode;
    		this.mLotCode=lotCode;
    		this.mDateAvoir=dateAvoir;
    	}
     
    	public String getavoircode()
    	{
    		return this.mAvoirCode;
    	}
     
    	public int getReliq()
    	{
    		return this.mReliq;
    	}
     
    	public String getArticleCode()
    	{
    		return this.mArticleCode;
    	}
     
    	public String getLotCode()
    	{
    		return this.mLotCode;
    	}
     
    	public String getDateAvoir()
    	{
    		return this.mDateAvoir;
    	}
     
     
    }

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 90
    Points
    90
    Par défaut
    si dans ta jsp tu appelle avoir.avoirCode dans ton bean ta methode doit s'écrire getAvoirCode() et pas getavoircode()
    et pour avoir.reliquat tu doit avoir une méthode getReliquat() et pas getReliq()

    Loïc

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut
    Je crois que j'ai vraiment besoin de vacances...

    Merci de ton aide.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/10/2011, 16h39
  2. Réponses: 10
    Dernier message: 26/05/2008, 17h10
  3. Réponses: 4
    Dernier message: 15/02/2006, 18h24
  4. [Struts] paramètre JS dans un bean:define
    Par Mrlud dans le forum Struts 1
    Réponses: 4
    Dernier message: 09/06/2005, 15h38
  5. Réponses: 4
    Dernier message: 19/04/2005, 14h42

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