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 :

elements d'une liste


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut elements d'une liste
    Bonjour, j'ai une liste d'objet que j'affiche dans une page sous forme de tableau, je voudrais savoir comment, en cliquant sur une propriété de la liste récupéré l'objet sur lequel j'ai cliqué ou une reference a cette objet comme le nom pour pouvoir faire des traitements dessus avec une Action et afficher ensuite toute ces propriété dans une autre pages.
    Voici ma jsp qui affiche ma table d'objet
    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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    <%@ page import="david.webapp.*, java.util.*" %>
     
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
     
    <%@ page 
    language="java"
    contentType="text/html; charset=ISO-8859-1"
    %>
     
    <%
    	ListHolder h = new ListHolder();
    	List jobList = h.getList();
    	session.setAttribute("jobList", jobList);
    %>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <META name="GENERATOR" content="IBM WebSphere Studio">
    <META http-equiv="Content-Style-Type" content="text/css">
    <LINK href="theme/Master.css" rel="stylesheet"
    	type="text/css">
    <TITLE>list-job.jsp</TITLE>
    </HEAD>
    <BODY>
    <H2>Liste des différés</H2>
    	<TABLE border="1">
    		<logic:iterate id="job" name="jobList">
    			<tr>
    				<td><bean:write name="job" property="name"/></td>
    			</tr>
    		</logic:iterate>
    	</TABLE>
    </BODY>
    </HTML>
    Dans mon cas pour l'instant je n'ai qu'une colonne name qui affiche le nom de l'objet, je voudrais donc savoir comment en cliquant sur ce nom je pouvais déclencher une action déja, est ce que cela se fait via un href? Je débute avec struts donc je ne sais pas vraiment comment faire merci de m'aider

  2. #2
    Membre émérite
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Par défaut
    Bonjour,

    Tu peux tout à fait faire ce que tu demandes en utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:link action="tonActionCible">
      <bean:write name="job" property="name"/>
    </html:link>
    Cela va te faire un lien vers l'action tonActionCible, mais cela n'est pas suffisant. Il existe des attributs param et id dans le tag html:link qui te permettrons de passer l'id de ton job en paramatre et comme cela tu pourras le récupérer dans tonActionCible afin de savoir quel job a été selectionner.

    Fait une recherche sur le forum ou regarde la doc Struts :
    http://struts.apache.org/1.1/userGuide/struts-html.html

  3. #3
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut
    Bonjour et merci beaucoup pour la réponse, en fait tu m'as anticipé sur ma prochaine question.
    Voici le code que je viens de faire en lisant la doc et quelques exemples
    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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    <%@ page import="david.webapp.*, java.util.*" %>
     
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
     
    <%@ page 
    language="java"
    contentType="text/html; charset=ISO-8859-1"
    %>
     
    <%
    	ListHolder h = new ListHolder();
    	List jobList = h.getList();
    	session.setAttribute("jobList", jobList);
    %>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <META name="GENERATOR" content="IBM WebSphere Studio">
    <META http-equiv="Content-Style-Type" content="text/css">
    <LINK href="theme/Master.css" rel="stylesheet"
    	type="text/css">
    <TITLE>list-job.jsp</TITLE>
    </HEAD>
    <BODY>
    <H2>Liste des différés</H2>
    	<TABLE border="1">
    		<logic:iterate id="jobList" name="jobList">
    			<tr>
    				<td>
    					<html:link action="lookup" paramId="" paramName="">
    						<bean:write name="jobList" property="name"/>
    					</html:link>
    				</td>
    			</tr>
    		</logic:iterate>
    	</TABLE>
    </BODY>
    </HTML>
    Et je voudrais maintenant savoir quoi mettre dans paramId et paramName afin de passer l'objet, et surtout comment le passer enfin avec quel fonction. Est ce avec une instruction du type session.setAttribute("jobselectionner", job)?
    Je m'emmele un peu aussi au niveau de paramId et paramName je ne sais pas vraiment quoi mettre merci de m'éclairer, je vais aussi lire la doc.

  4. #4
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut
    En fait si je définie une action et paramId dans <html:link> l'objet selectionné est automatiquement passé dans l'action c'est bien sa? Si oui comment je récupère le parametre dans l'action. Dans la méthode execute je peux utiliser le paramètre request de cette façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getAttribute("paramId");
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getSession().getAttribute("paramId")
    pour récuper l'objet associer au paramId ?

  5. #5
    Membre émérite
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Par défaut
    Non ca n'est pas magique,

    L'objet n'est pas rappatrié automatiquement dans l'action cible.
    Tu ne peux récupérer que l'id (ou le parametre en question).

    Après si tu as mis ta liste en session ou tu peux parcourir celle ci et récuperer l'objet grace a son id. Ou tout simplement refaire une requete SQL avec l'id pour récupérer l'objet (complet cette fois ci).

  6. #6
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut
    Daccor donc le parametre paramId ne peut etre qu'une propriété de l'objet, pour qu'il le retrouve dans la liste, par exemple si mon objet a une propriété id, je mettrai paramId = "id", c'est sa ou je me trompe encore?

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

Discussions similaires

  1. [langage] Supprimer un élément dans une liste
    Par myjuna dans le forum Langage
    Réponses: 15
    Dernier message: 06/08/2014, 11h49
  2. cacher un element d'une liste deroulante
    Par fallered dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 18/10/2005, 15h46
  3. Recherche Element dans une liste
    Par hellodelu dans le forum ASP
    Réponses: 7
    Dernier message: 19/08/2005, 10h56
  4. acceder au n iéme element d'une liste std::list
    Par sorari dans le forum SL & STL
    Réponses: 4
    Dernier message: 23/03/2005, 15h21
  5. selectionner le dernier element d'une liste box
    Par adilou1981 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/03/2005, 10h19

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