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 :

passage de parametre dans les decorator


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 139
    Points : 86
    Points
    86
    Par défaut passage de parametre dans les decorator
    Bonjour,

    j'utilise le display tag pour afficher une liste d'utilisateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <display:table decorator="com.monappli.MyDecorator" requestURI="administrationForward.do"  class="adminDetailsTable" name="tabusers" defaultorder="descending" pagesize="5">
    	<display:setProperty name="css.tr.even" value="adminDetailsTableEven"></display:setProperty>
     
    	<display:column property="id" title="Id" sortable="true" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="nom" title="Nom" sortable="true" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="prenom" title="Prénom" sortable="true" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="estSuspendu" title="Suspendu" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="profil" title="Profil" sortable="true" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="suppression" paramScope="request" title="Suppression" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="modification" title="Modification" headerClass="adminDetailsTableNomCol"/>	
    </display:table>
    j'utilise également un decorator pour fabriquer des liens url dans mes 2 derniere colones suppression et modification.

    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
     
    public class MyDecorator extends TableDecorator {
     
        public String getsuppression()
        {
        	UserHb user = (UserHb) getCurrentRowObject();
        	String id= user.getId();
     
        	return "<a href=\"adminSuppr.do?idu="+id+"\" onclick=\"return(confirm('Etes-vous sûr de vouloir effectuer ces modifications?'));return false;\">Supprimer</a>";
        }
     
        /**
         * @return un lien vers la suppression
         */
        public String getmodification()
        {
        	UserHb user = (UserHb) getCurrentRowObject();
     
        	String id = user.getId();
     
        	return "<a href= \"adminEdit.do?idu="+id+"\">Modifier</a>";
        }
    }
    Mon problème est le suivant: je voudrais pouvoir récuperer mon user qui est loggé dans ma méthode getsuppression() de mon décorator.

    Pour cela j'ai besoin de récupperer mon request afin d'utiliser ces 2 lignes de commandes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Session session = HibernateUtils.currentSession();
    UserHb user = (UserHb) session.get(UserHb.class, (String)request.getSession().getAttribute("username"));
    Mais je ne sais pas comment passer mon HttpRequest en parametre.

    Est ce quelqu'un aurait une idée???

    Merci.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 43
    Points
    43
    Par défaut
    essaye avec : pageContext.getRequest()........

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 139
    Points : 86
    Points
    86
    Par défaut
    Bon en fait j'ai totalement changé d'orientation, vu que je me suis aperçu que je faisait une mauvaise utilisation des décorator...

    J'ai donc fais tous mes modif directement dans ma page jsp, dans mon displaytag. C'est plus pratique et je n'est plus besoin des decorator (qui a l'origine sont utiliser pour le formatage des données et non leur traitement^^).

    Voila ce que ça donne.

    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
     
    <display:table id="users" requestURI="administrationForward.do"  class="adminDetailsTable" name="tabusers" defaultorder="descending" pagesize="5">
    	<display:setProperty name="css.tr.even" value="adminDetailsTableEven"></display:setProperty>
     
     
    	<display:column property="id" title="Id" sortable="true" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="nom" title="Nom" sortable="true" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="prenom" title="Prénom" sortable="true" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="estSuspendu" title="Suspendu" headerClass="adminDetailsTableNomCol"/>
    	<display:column title="Profil" headerClass="adminDetailsTableNomCol"><bean:write name="users" property="profil.nom"/></display:column>
    	<display:column title="Suppression" headerClass="adminDetailsTableNomCol">
    		<logic:notEqual name="users" property="id" value="<%=(String)request.getSession().getAttribute("username")%>">
    			<a href='adminSuppr.do?idu=<bean:write name="users" property="id"/>' onclick="return(confirm('Etes-vous sûr de vouloir effectuer ces modifications?'));return false;">Supprimer</a>		
    		</logic:notEqual>
    		<logic:equal name="users" property="id" value="<%=(String)request.getSession().getAttribute("username")%>">
    		</logic:equal>
    	</display:column>
    	<display:column title="Modification" headerClass="adminDetailsTableNomCol">	
    		<a href='adminEdit.do?idu=<bean:write name="users" property="id"/>'>Modifier</a>
    	</display:column>
    </display:table>
    Désolé du dérangement. Merci

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par crocodingo Voir le message
    Bon en fait j'ai totalement changé d'orientation, vu que je me suis aperçu que je faisait une mauvaise utilisation des décorator...

    J'ai donc fais tous mes modif directement dans ma page jsp, dans mon displaytag. C'est plus pratique et je n'est plus besoin des decorator (qui a l'origine sont utiliser pour le formatage des données et non leur traitement^^).

    Voila ce que ça donne.

    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
     
    <display:table id="users" requestURI="administrationForward.do"  class="adminDetailsTable" name="tabusers" defaultorder="descending" pagesize="5">
    	<display:setProperty name="css.tr.even" value="adminDetailsTableEven"></display:setProperty>
     
     
    	<display:column property="id" title="Id" sortable="true" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="nom" title="Nom" sortable="true" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="prenom" title="Prénom" sortable="true" headerClass="adminDetailsTableNomCol"/>
    	<display:column property="estSuspendu" title="Suspendu" headerClass="adminDetailsTableNomCol"/>
    	<display:column title="Profil" headerClass="adminDetailsTableNomCol"><bean:write name="users" property="profil.nom"/></display:column>
    	<display:column title="Suppression" headerClass="adminDetailsTableNomCol">
    		<logic:notEqual name="users" property="id" value="<%=(String)request.getSession().getAttribute("username")%>">
    			<a href='adminSuppr.do?idu=<bean:write name="users" property="id"/>' onclick="return(confirm('Etes-vous sûr de vouloir effectuer ces modifications?'));return false;">Supprimer</a>		
    		</logic:notEqual>
    		<logic:equal name="users" property="id" value="<%=(String)request.getSession().getAttribute("username")%>">
    		</logic:equal>
    	</display:column>
    	<display:column title="Modification" headerClass="adminDetailsTableNomCol">	
    		<a href='adminEdit.do?idu=<bean:write name="users" property="id"/>'>Modifier</a>
    	</display:column>
    </display:table>
    Désolé du dérangement. Merci
    salut ,

    je veux faire la même chose donc je me suis servies de ce code mais ca ne marche pas!

    ce que je veux savoir c'est la signification de :

    name="users" est ce le nom du bean ?

    property="id" est ce que c'est la proprièté que j'ai dans mon actionform ou bien le nom d'un attribut dans la classe.

    merci pour votre réponse

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

Discussions similaires

  1. [LOG4J] passage de parametre dans les message de log ?
    Par rimas2009 dans le forum Logging
    Réponses: 3
    Dernier message: 24/05/2011, 10h26
  2. le passage de parametre dans les fonctions php
    Par stive8063 dans le forum Langage
    Réponses: 1
    Dernier message: 05/04/2008, 20h11
  3. Réponses: 3
    Dernier message: 05/04/2005, 14h26
  4. Réponses: 6
    Dernier message: 24/12/2004, 16h46
  5. [langage] Passage de paramètres dans une fonction
    Par And_the_problem_is dans le forum Langage
    Réponses: 11
    Dernier message: 28/06/2004, 08h20

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