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 1.3 : Affichage d'objet et listes imbriqués


Sujet :

Struts 1 Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Struts 1.3 : Affichage d'objet et listes imbriqués
    Bonjour,

    Je commence tout juste à travailler sur Struts 1.3 et j'ai une petite application à faire permettant la gestion de contact. Je me suis retrouvé bloqué dans l'affichage d'objets imbriqués : on me demande de créer des objets Contact et de les afficher sur une page JSP.

    Voilà la structure de Contact :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Contact(long id, String firstName, String lastName, String email, Address address, List<PhoneNumber> phone, List<ContactGroup> group) { }
    L'adresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Address(long id, String street, String city, String zip, String country) { }
    Et PhoneNumber (la structure de ContactGroup est identique) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public PhoneNumber(long id, String phoneKind, String phoneNumber){ }
    Dans ma classe Action je récupère ma liste de contacts (via le DAO) et je l'envoi à ma page JSP avec un setAttribute:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public ActionForward execute(final ActionMapping pMapping, ActionForm pForm, final HttpServletRequest pRequest,
    			final HttpServletResponse pResponse) {
     
    		final DAOContact daoContact = new DAOContact();
                   // On créer nos contacts et on les récupèrent 
    		final DisplayAllContact display = daoContact.displayAllContacts();
     
     
    		if(display.getError() == null) {
                            // On envoie la liste de nos contacts vers la page jsp
    			pRequest.setAttribute("LISTECONTACTS", display.getContacts());
    			return pMapping.findForward("success");
    		}
    	}
    Donc une fois sur ma page JSP je n'ai pas de problème pour afficher le nom, l'id... d'un contact mais je ne vois pas comment afficher son adresse ou la liste de ses groupes.

    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
    <table border="1">
    		<thead>
    			<tr>
    				<th><bean:message key="add.contact.form.id" /></th>
    				<th><bean:message key="add.contact.form.lastname" /></th>
    				<th><bean:message key="add.contact.form.firstname" /></th>
    				<th><bean:message key="add.contact.form.email" /></th>
    			</tr>
    		</thead>
    		<tbody>
    			<logic:iterate name="CONTACT" id="contact">
    				<tr>
    					<td><bean:write name="contact" property="id" /></td>
    					<td><bean:write name="contact" property="firstName" /></td>
    					<td><bean:write name="contact" property="lastName" /></td>
    					<td><bean:write name="contact" property="email" /></td>
    				</tr>
    			</logic:iterate>
    		</tbody>
    	</table>
    J'ai regardé du côté du tag nested mais je ne comprends pas trop comment l'utiliser et s'il répond bien à mon problème. J'ai vu aussi beaucoup de solutions en struts 2.0 mais je dois me cantonner exclusivement à struts 1.3. J'ai vu aussi qu'utiliser des for à l'intérieur de tag java pouvait aussi être une solution (mais je ne sais pas si c'est une bonne pratique ou non).

    Voilà, si quelqu'un pouvait prendre un peu de temps pour m'aider je lui en serais très reconnaissant !

    Merci.

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bon finalement j'ai trouvé la solution, c'était bête mais fallait le savoir :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    <body>
     
    	<!-- On divise les infos d'un contact en 3 tableaux : contact + adresse, phones et groups -->
    	<table border="1">
    		<thead>
    			<tr>
    				<th><bean:message key="add.contact.form.id" /></th>
    				<th><bean:message key="add.contact.form.lastname" /></th>
    				<th><bean:message key="add.contact.form.firstname" /></th>
    				<th><bean:message key="add.contact.form.email" /></th>
     
    				<!-- On affiche les colonnes seulement si l'adresse existe -->
    				<logic:present name="ADDRESS">
    					<th><bean:message key="add.contact.form.street" /></th>
    					<th><bean:message key="add.contact.form.city" /></th>
    					<th><bean:message key="add.contact.form.zip" /></th>
    					<th><bean:message key="add.contact.form.country" /></th>
    				</logic:present>
    			</tr>
    		</thead>
    		<tbody>
    			<tr>
    				<logic:iterate name="CONTACT" id="contact">
    					<td><bean:write name="contact" property="id" /></td>
    					<td><bean:write name="contact" property="firstName" /></td>
    					<td><bean:write name="contact" property="lastName" /></td>
    					<td><bean:write name="contact" property="email" /></td>
    				</logic:iterate>
     
    				<logic:present name="ADDRESS">
    					<logic:iterate name="ADDRESS" id="address">
    						<td><bean:write name="address" property="street" /></td>
    						<td><bean:write name="address" property="city" /></td>
    						<td><bean:write name="address" property="zip" /></td>
    						<td><bean:write name="address" property="country" /></td>
    					</logic:iterate>
    				</logic:present>
    			</tr>
    		</tbody>
    	</table>
     
    	<table border="1">
    		<thead>
    			<tr>
    				<th><bean:message key="add.contact.form.phonekind" /></th>
    				<th><bean:message key="add.contact.form.phonenumber" /></th>
    			</tr>
    		</thead>
    		<tbody>
    			<logic:iterate name="CONTACT" id="contact">
    				<logic:iterate name="contact" property="phone" id="phones">
    					<tr>
    						<td><bean:write name="phones" property="phoneKind" /></td>
    						<td><bean:write name="phones" property="phoneNumber" /></td>
    					</tr>
    				</logic:iterate>
    			</logic:iterate>
    		</tbody>
    	</table>
     
    	<table border="1">
    		<thead>
    			<tr>
    				<th><bean:message key="add.contact.form.groupname" /></th>
    			</tr>
    		</thead>
    		<tbody>
    			<logic:iterate name="CONTACT" id="contact">
    				<logic:iterate name="contact" property="group" id="groups">
    					<tr>
    						<td><bean:write name="groups" property="groupName" /></td>
    					</tr>
    				</logic:iterate>
    			</logic:iterate>
    		</tbody>
    	</table>
     
    	<h4>
    		<a href="Main.do"><bean:message key="main.redirection" /></a>
    	</h4>
    </body>

Discussions similaires

  1. [PDO] Affichage vide avec une liste d'objets récupérées via PDO
    Par grimzom dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/11/2015, 12h42
  2. [STRUTS/TAGS/COLLECTIONS] affichage d une liste
    Par hinanui dans le forum Struts 1
    Réponses: 22
    Dernier message: 04/07/2005, 15h03
  3. [Struts][DynaActionForm et persistance des objets]
    Par jcos dans le forum Struts 1
    Réponses: 4
    Dernier message: 22/12/2004, 10h15
  4. [Struts][classe Action]Mettre un objet en parametre (suite)
    Par julienOriano dans le forum Struts 1
    Réponses: 6
    Dernier message: 16/06/2004, 16h54
  5. [Conseil] Affichage maps + objets
    Par Mathieu.J dans le forum OpenGL
    Réponses: 4
    Dernier message: 04/06/2004, 15h35

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