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 :

Tableau dynamique avec boutons en plus


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 89
    Points : 45
    Points
    45
    Par défaut Tableau dynamique avec boutons en plus
    Bonjour,

    Je suis desolé ca va etre le 21eme post sur le theme "tableau+dynamique+struts", mais j'ai du mal a rassmenblé toute les données pour arrivé a ma requete qui est :

    La création d'un tableau d'ynamique de modification d'utilisateur avec au bout du tableau un bouton delete et un autre modify...(pour les bouton on peu voir plus tard)

    J'ai regarder les differant post et voici ce que j'en retiré

    dans ma jsp j'ai comencer a voir cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <logic:iterate name="utilListForm" property="utils" id="util">
        <html:link action="/listUtil.do">
            <bean:write name="util" property="login"/>
        </html:link>
        <bean:write name="util" property="mdp"/>
    </logic:iterate>
    J'ai regarder aussi le post :
    http://www.developpez.net/forums/d28...alise-iterate/

    Ou la charmante c_nvy a developpez un petit exemple que je n'ai pas tres bien compri

    Pour l'instant je n'ai rien reelement fait. je ne voi pas trop de quelle maniere doit etre la classe utilListForm ou la jsp va recuperer les données (a et j'utilise aussi hibernate mais ca je me debrouillerai apres)

    Merci

  2. #2
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    tu n'as qu'à utiliser le displaytag c'est mieux je t'assure et je vient juste de terminer un travail avec

    exemple
    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
    <%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic"%>
    <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean"%>
    <%@ taglib uri="/WEB-INF/tlds/displaytag.tld" prefix="display"%>
    <html>
    	<head>
     
    		<link rel="stylesheet" type="text/css" href="css/displaytag.css">
    	</head>
     
    	<body>
    		<h3>Liste des personnes</h3>
    		<hr>
     
     
     
    	<div align="center">
    		<display:table name="listPersonnes" decorator="com.bnpparisbas.monprojet.personne.MyDecorator">
     
    				<display:setProperty name="paging.banner.placement" value="bottom" />
    				<display:column property="nom" title="Nom" />
    				<display:column property="prenom" title="Prénom" />
    				<display:column property="age" title="Age" />
    				<display:column property="supprimer" title="Supprimer"/>
    				<display:column property="modifier" title="Modifier"/>
     
     
    		</display:table>
    	</div>
    		<html:link href="login.jsp">Ajout d'une personne</html:link>
     
    	</body>
     
    </html>
    tu vas avoir dans chaque ligne un bouton supprimer modifier

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 89
    Points : 45
    Points
    45
    Par défaut
    Merci

    Mais je ne voi pas comment on l'utilise je suis un vrai debutant...
    Il faut creer une collection d'abord puis ensuite l'appeler... Mais comment exactement la creer t on...

    Deplus j'ai une erreur dans ma jsp dans l'import du taglib displaytag.tld. elle di

    Failed to load or instantiate TagExtraInfo class :...

    Je ne trouve pas le .jar ou pui je le recuperer?

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    tu dois d'abord metre displaytag.jar avec les library web-inf/lib, puis mettre les dépendance,puis le diplaytag.tld dans web-inf/tlds
    tu le declare dans ton web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ]<taglib>
    			<taglib-uri>displaytag</taglib-uri>
    			<taglib-location>/WEB-INF/tlds/displaytag.tld</taglib-location>
    		</taglib>
    puis tu pe l'utiliser <displaytag> ss probl
    tu pe mettre les style si tu ve
    regarde mon code precedent
    voila le lien
    http://sourceforge.net/project/showf...ease_id=649806

    prend le lib dans displaytag exemple/webinf/lib avec les common aussi
    une fois fait sur ton projet dans src/bibliothéque/displaytag
    essaye de chercher tu trouvras la tld

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 89
    Points : 45
    Points
    45
    Par défaut
    Merci pour tout les informations

    Mais j'ai reussi avec <logic:iterator du moins a affiché un variable en dur...

    C'est honteux mais je ne sais pas recuperer mes donné dans une variable list...

    Mon objectif est dafficher le login et le mot de passe des utilisateur. pour les modiifier ou supprimer.

    Donc je fait un SQLquerry pour recuperer la liste mais je ne sais pas comment les mettre dans mon HashMap, vu que j'ai deux valeur dans ma liste. (soit je ne sais pas comment on fait pour avoir acces a ces donnée dans la liste)

    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
     List resultat = null;
            Map<String, String> mapUserInfos = new HashMap<String, String>();
     
            try {
                session = HibernateUtil.getSessionFactory().getCurrentSession();
                tx = session.beginTransaction();
            } catch (HibernateException e69) {
                e69.printStackTrace();
            }
     
     
            try{
                Query query = session.createSQLQuery("select login,mdp from user");
                resultat = query.list();
     
                Iterator it = resultat.iterator();
                while (it.hasNext()){                
                    mapUserInfos.put(it.next().toString(),"AAAA");
                }
     
                return mapUserInfos;
            }catch(HibernateException e){
                e.printStackTrace();
            }
            return mapUserInfos;
     
        }
    Evidement ca me donne quelle que chose de mauvai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Hello
    Identifiant 	Mot de passe
    [Ljava.lang.Object;@23558 	AAAA
    [Ljava.lang.Object;@1132d7d 	AAAA
    [Ljava.lang.Object;@1c2732e 	AAAA
    [Ljava.lang.Object;@1f87852 	AAAA
    [Ljava.lang.Object;@8508c2 	AAAA
    [Ljava.lang.Object;@1c511cb 	AAAA
    [Ljava.lang.Object;@e29d42 	AAAA
    [Ljava.lang.Object;@18d1693 	AAAA
    [Ljava.lang.Object;@1a39121 	AAAA
    [Ljava.lang.Object;@fc30b8 	AAAA
    [Ljava.lang.Object;@f6c25 	AAAA
    Bon monj problem a evolué ce n'est plus sur l'utilisation de <logic:iterat ou display mais c'est devenu un probleme de je ne sais pas comment recuperer les donné dans une liste. Je ne suis plus dans le bonne endroit mais si vous avez une reponse ca m'aiderai. Si non je continu a chercher

    Merci

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 89
    Points : 45
    Points
    45
    Par défaut
    C'est bon ca marche il fallait juste que je cast mon it.next en user soit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     resultat = session.createQuery("from User").list();
     
     
                //resultat = query.list();
     
     
                Iterator it = resultat.iterator();
                while (it.hasNext()){
                    user = (User) it.next();
                    mapUserInfos.put(user.getLogin(),user.getMdp());
                }
    Maintenant comment recuperer les donner que je souhaite modifié quand j'appui sur le bouton modifier ou supprimer qui se trouve sur la meme ligne que les données...

    Je suis aller sur ce post :

    http://www.developpez.net/forums/d59...ation-indexid/

    Mais je n'arrive pas a l'appliquer a mon cas

    code de la jsp :
    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
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@ page import="java.util.*" %>
    <%@page import="java.util.Iterator" %>
    <%@page import="java.util.ListIterator" %>
    <%@ page import="socgen.portail.form.ListUtilForm" %>
    <%@taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
    <%@taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
    <%@taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
    <%@taglib uri="/WEB-INF/lib/displaytag.tld" prefix="display"%>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
     
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Liste Utilisateur</title>
        </head>
     
        <body>
            <html:form action="/gestion">
                <table border="1">
                    <tbody>
                        <tr align="center">
                            <td>Identifiant</td>
                            <td>Mot de passe</td>
                        </tr>
     
                        <logic:iterate id="emp" name="mapUserInfos">
                            <tr align="center">
                                <td><bean:write name="emp" property="key"/></td>
                                <td><bean:write name="emp" property="value"/></td>
                                <td>
                                    <html:submit property="action">
                                        <bean:message key="button.modifUser" />
                                    </html:submit>
                                </td>
                                <td>
                                    <html:submit property="action">
                                        <bean:message key="button.supprUser" />
                                    </html:submit>
                                </td>
                            </tr>
                        </logic:iterate>
     
                        <html:submit value="ok"/>
                    </tbody>
                </table>
            </html:form>
        </body>
    </html>

  7. #7
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    En t'inspirant de l'exemple donné dans la discussion que tu cites, tu peux passer la valeur du login à la place de l'index à la fonction javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:submit property="action" onclick="setFonction('${emp.key}');"/

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 89
    Points : 45
    Points
    45
    Par défaut
    Mais comment et ou puis-je la recuperer?
    Dans le post precedant tu dit brievement de faire un getLogin mais ca ne je n'obtien rien

    parallelement j'ai un poil modifier mon code pour le rendre plus evolutif. j'affiche directement la liste, au lieu de

    Map<String, String> mapUserInfos

    soit
    dans ma fonction qui charge la liste des utilisateur j'ai
    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
    Session session = null;
            Transaction tx = null;
            List<User> resultat = null;
     
            try {
                session = HibernateUtil.getSessionFactory().getCurrentSession();
                tx = session.beginTransaction();
            } catch (HibernateException e69) {
                e69.printStackTrace();
            }
     
     
            try{
                resultat = session.createQuery("from User").list();
                return resultat;
            }catch(HibernateException e){
                e.printStackTrace();
            }
            return resultat;
    Dans le AccueilAdminAction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    List<User> mapUserInfos = null;
     
     
            mapUserInfos = ListUtilisateur.list();
            request.setAttribute("mapUserInfos",mapUserInfos);
     
            return mapping.findForward(GESTION);
    Puis dans le UtilListAction (Action lancer apres que l'on appui sur le bouton supprimer)j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ListUtilForm user = (ListUtilForm)form;
            String resultat1 = user.getLogin();
            String resultat2 = user.getMdp();
            String resultat3 = user.getType();
            return mapping.findForward(SUPPR);
    tout est null...

    et la listUtil.jsp
    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
    <script>
        function setIndex(value)
        {
            document.mapUserInfos.login.value=value ;
        }
    </script>
     
    <logic:iterate  id="emp" name="mapUserInfos" indexId="login">
        <tr align="center">
            <td><bean:write name="emp" property="login"/></td>
            <td><bean:write name="emp" property="mdp"/></td>
            <td><bean:write name="emp" property="type"/></td>
            <td>
                <html:submit property="action" onclick="setIndex('${emp.login}');">
                    <bean:message key="button.modifUser" />
                </html:submit>
            </td>
            <td>
                <html:submit property="action" onclick="setIndex('${emp.login}');">
                    <bean:message key="button.supprUser" />
                </html:submit>
            </td>
        </tr>
    </logic:iterate>
    J'ai aussi tenté de faire dans la JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="gestion.do?id=${login}" >Supprimer</a>
    Ca ne marche pas il ne trouve pas la page par contre si je met directement le nom de la jsp ca passe mais je ne trouve pas cela tres propre...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="supprUtil.jsp?id=${login}" >Supprimer</a>
    Merci

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 89
    Points : 45
    Points
    45
    Par défaut
    J'ai perseveré dans l'idée du href.

    Pour cela j'ai creer une action passerelle, SupprUtilPassAction qui me recuperer l'url pour ensuite me mettre les information en session

    Dans la jsp listUtil j'envoi comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="supprUtilPass.do?id=${login}" >Supprimer</a>
    Et dans SupprUtilPassAction j'ai fait cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String login = request.getParameter("id");
                request.setAttribute("loginSupprModif",login);
     
     
            return mapping.findForward(SUCCESS);
    Et il renvoi a la JSP supprUtil ou seront afficher les donné supplementaire sur l'utilisateur.

    Le prob c'est que il me renvoi le numero ligne de donnée dans la database et non le login. et je ne sais pas comment recuperer ensuite ce login dans ma liste d'utilisateur mapUserInfos.

    De plus cela me semble plus que laborieux!
    S'il vous plait dite moi que je mi prend mal et de me dire comment me repentir dans le code java
    Merci

  10. #10
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Dans la fonction javascript, c'est le nom du form-bean, soit celui qui correspond à l'ActionForm ListUtilForm, qu'il faut mettre et non le nom de la map :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script>
        function setIndex(value)
        {
            document.listUtilForm.login.value=value ;
        }
    </script>
    ou si tu n'as qu'un formulaire dans la page, tu peux aussi mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script>
        function setIndex(value)
        {
            document.forms[0].login.value=value ;
        }
    </script>
    et pour que la valeur de la propriété login sur laquelle l'utilisateur a cliqué soit mise à jour au submit du formulaire, il faut ajouter un tag html:hidden dans un tag html:form ( ceci est précisé dans la discussion exemple) :
    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
    <html:form action="gestion">
     
    <html:hidden property="login"/>
     
    <logic:iterate  id="emp" name="mapUserInfos" indexId="login">
        <tr align="center">
            <td><bean:write name="emp" property="login"/></td>
            <td><bean:write name="emp" property="mdp"/></td>
            <td><bean:write name="emp" property="type"/></td>
            <td>
                <html:submit property="action" onclick="setIndex('${emp.login}');">
                    <bean:message key="button.modifUser" />
                </html:submit>
            </td>
            <td>
                <html:submit property="action" onclick="setIndex('${emp.login}');">
                    <bean:message key="button.supprUser" />
                </html:submit>
            </td>
        </tr>
    </logic:iterate>
     
    </html:form>
    et à ce moment-là, tu pourras récupérer la valeur de login dans l'Action via le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ListUtilForm user = (ListUtilForm)form;
    String resultat1 = user.getLogin();

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 89
    Points : 45
    Points
    45
    Par défaut
    Merci

    Ca marche parfaitement

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

Discussions similaires

  1. Création d'un tableau dynamique avec "rich:columns"
    Par Seiphir0the dans le forum JSF
    Réponses: 2
    Dernier message: 26/05/2009, 21h52
  2. Création tableau dynamique avec php
    Par yasinfo dans le forum Langage
    Réponses: 3
    Dernier message: 05/10/2008, 15h28
  3. tableau dynamique avec surlignement de la ligne
    Par hartecel dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 11/07/2008, 12h17
  4. [Tableaux] Tableau dynamique avec php
    Par Ricus28 dans le forum Langage
    Réponses: 3
    Dernier message: 01/08/2006, 23h46
  5. Création d'un tableau dynamique avec XSL-FO
    Par lionelbrizuela dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/01/2006, 12h04

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