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 2 Java Discussion :

Récupération de la valeur d'une itération dans la classe java


Sujet :

Struts 2 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Points : 21
    Points
    21
    Par défaut Récupération de la valeur d'une itération dans la classe java
    Bonjour,

    J'ai une JSP avec une itération et un bouton modifier sur chaque ligne.
    Je voudrais récupérer l'id correspondant à la sélection dans ma classe.

    JSP :
    <s:iterator value="maListe">
    <tr>
    <td><s:property value="id" /></td>
    <td><s:property value="titre" /></td>
    <td><s:property value="texte" /></td>
    <td><s:property value="auteur" /></td>
    <td><s:form method="post" action="Modify" >
    <s:submit type="image" src="images/editerclient.png"/></s:form></td>
    <td><s:form method="post" action="Delete">
    <s:submit type="image" src="images/supprimerclient.png"/></s:form></td>
    </tr>
    </s:iterator>

    Classe java :
    public String modify() {
    System.out.println("Start NewsAction modify");


    System.out.println("End NewsAction modify");
    return "success";
    }

    public String delete() {
    System.out.println("Start NewsAction delete");


    System.out.println("End NewsAction delete");
    return "success";
    }

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    Tu peux mettre un <s:hidden name="id" /> dans ton form puis dans ton Action, tu déclares un String id avec ses accesseurs, tu pourras ensuite récupérer cet id dans la méthode associée à ton form.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    Merci pour ta réponse.
    La variable id est déjà défini : c'est un attribut de maListe:

    public class News {

    private Integer id;
    private String titre;
    private String texte;
    private Date date;
    private String auteur;
    .....

    private static final long serialVersionUID = 1L;
    private List<News> maListe;

    ....

    Lorsque je fais mon itération, j'ai déjà ma zone id qui est affiché et cet attribut est un Long dans mon bean.

    Donc il me faut dans ma jsp un champs hidden qui reprends la valeur de mon id et que je pourrais récupérer dans mon bean.

    <s:iterator value="maListe">
    <tr>
    <td><s:property value="id" /></td>
    <td><s:property value="titre" /></td>
    <td><s:property value="texte" /></td>
    <td><s:property value="auteur" /></td>
    <td><s:form method="post" action="Modify" >
    <s:hidden name="idName" value="id"/>
    <s:submit type="image" src="images/editerclient.png"/></s:form></td>
    <td><s:form method="post" action="Delete">
    <s:submit type="image" src="images/supprimerclient.png"/></s:form></td>
    </tr>
    </s:iterator>

    Le problème c'est que ce champs hidden (idName) n'a pas la valeur de mon id lors de l'affichage de ma jsp.

    Je ne peux pas récupérer directement la valeur de l'id de mon itérator?

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    Je crois que j'ai trouvé comment mettre la valeur de mon id dans le post :

    je mets un hidden avec une nouvelle variable (idName) qui contient la valeur de mon id : value="%{id}"

    reste à récupérer cette nouvelle variable dans ma classe.

    jsp :
    <s:iterator value="maListe">
    <tr>
    <td><s:property value="id" /></td>
    <td><s:property value="titre" /></td>
    <td><s:property value="texte" /></td>
    <td><s:property value="auteur" /></td>
    <td><s:form method="post" action="Modify" >
    <s:hidden name="idName" value="%{id}"/>
    <s:submit type="image" src="images/editerclient.png"/></s:form></td>
    <td><s:form method="post" action="Delete">
    <s:submit type="image" src="images/supprimerclient.png"/></s:form></td>
    </tr>
    </s:iterator>

    méthode :
    public String modify() {

    System.out.println("NewsAction modify mon Id" + idName);


    return "success";
    }

    Merci de ton aide hanoni. Je ferme.

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    En fait, vu que tu itères sur des "News", théoriquement, à l'affichage, en mettant simplement un <s:hidden name="id" />, il devrait récupérer la valeur du "id" de chaque News. Pour vérifier directement à l'affichage, plutôt que de mettre dans un <s:hidden />, tu n'as qu'à utiliser un <s:textfield name="id" />.

    Cependant, pour récupérer cette valeur dans ton Action quand tu submit ton form, il faut que tu déclares dans ton Action un attribut String id avec des getters/setters, et tu pourras alors si tu le souhaites attribuer cette valeur à ton bean/dto News par la suite.

    En tout cas, ça marche très bien chez moi comme ça...

    De rien, et bonne continuation

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

Discussions similaires

  1. Récupération de la valeur d'une variable dans une procédure
    Par guerzan22 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/06/2015, 12h26
  2. Réponses: 6
    Dernier message: 08/11/2014, 11h56
  3. Réponses: 9
    Dernier message: 04/11/2009, 14h54
  4. récupération de la valeur d'une variable dans instruction select
    Par nicole.altuzarra dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/01/2009, 12h07
  5. Réponses: 4
    Dernier message: 14/01/2009, 10h45

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