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 :

Petit problème avec html:hidden


Sujet :

Struts 1 Java

  1. #1
    T2!
    T2! est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 46
    Points : 47
    Points
    47
    Par défaut Petit problème avec html:hidden
    Bonjour,

    je souhaiterais valoriser la propriété "idCompil" d'un formulaire avec la valeur provenant de la propriété "code" du bean "compil". Pour l'instant, je fais apparaître un champ de type "text" comme ci-dessous, mais cela ne me satisfait pas. En effet, le <html:text> apparaît inutilement dans le formulaire. Je préfèrerais utiliser un <html:hidden> mais je n'y arrive pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <bean:define id="compil" name="COMPIL"></bean:define>
    <bean:write name="compil" property="titre"/>
    // c'est ce qui suit que je souhaite remplacer par un <html:hidden>...
    <html:text property="idCompil" size="1" readonly="true">  				
          <bean:write name="compil" property="code"/>
    </html:text>
    Merci d'avance

  2. #2
    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
    Tu peux t'en sortir avec les EL.

    En J2EE 1.3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html-el:hidden name="tonFormBean" property="idCompil" value="{compil.code}"/>
    en ajoutant la directive taglib qui pointe sur struts-html-el.tld.

    En J2EE 1.4 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:hidden name="tonFormBean" property="idCompil" value="{compil.code}"/>
    Mais pourquoi ne pas valoriser la propriété idCompil de ton form-bean dans l'Action qui s'exécute avant l'affichage de la jsp ?
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    T2!
    T2! est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 46
    Points : 47
    Points
    47
    Par défaut
    Salut,

    Merci pour tes renseignements.

    Pour ta suggestion, c'est bien ce que je souhaite faire, valoriser dans l'action qui précède l'affichage. Cependant, ben, j'y arrive pas J'ai pourtant essayé beaucoup de choses, mais sans succès. As-tu la solution ?

    Merci d'avance

  4. #4
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TonActionForm tonActionForm = (TonActionForm) form ;
    tonActionForm.setIdCompil(compil.getCode()) ;
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    T2!
    T2! est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 46
    Points : 47
    Points
    47
    Par défaut
    C'est bien ce que j'ai fait. Cela semble convenir pour propager la valeur de l'action au formulaire. D'ailleurs dans le formulaire, j'affiche le contenu de la propriété et cela colle. Pour être plus clair, voici le code de l'action :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    BeanAjoutTitreCompil beanAjoutTitre = (BeanAjoutTitreCompil)form;
     
    // ...............
     
    beanAjoutTitre.setIdCompil(compil.getCode());
    beanAjoutTitre.setTitre(compil.getTitre());
    Dans le formulaire, j'affiche le titre de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:write name="formAjoutTitreCompil" property="titre"/>
    "formAjoutTitreCompil" est le nom du form-bean déclaré dans "struts-config.xml".

    Toutefois, lorsque je valide ce formulaire, l'action suivante ne contient pas les valeurs renseignées dans l'action précédente. Pourquoi ? (Est-ce que mon explication est suffisamment claire ?)

    Merci

  6. #6
    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
    C'est simplement un problème de scope.

    Je m'explique :

    L'Action qui initialise le formulaire et la jsp qui affiche son contenu constitue une première requête.
    Quand tu soumets le formulaire, tu constitues une deuxième requête et comme le form-bean est en scope request, tu perds les valeurs.
    Il faut donc le mettre en session.
    Modératrice Java - Struts, Servlets/JSP, ...

  7. #7
    T2!
    T2! est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 46
    Points : 47
    Points
    47
    Par défaut
    Merci

    Grâce à tes explications, non seulement ça fonctionne, mais en plus j'ai compris pourquoi

    A bientôt pour de nouvelles questions !

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

Discussions similaires

  1. Un petit problème avec XML/HTML vous pouvez le résoudre
    Par rmouads dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 30/03/2010, 11h04
  2. Un petit problème avec pop
    Par Paulinho dans le forum C++
    Réponses: 4
    Dernier message: 13/11/2005, 20h57
  3. Petit problème avec Line Input
    Par GrosQuicK dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/09/2005, 12h47
  4. (Petit ?) problème avec une page contenant du Flash
    Par ologram dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/09/2005, 18h45
  5. Petit problème avec SDL
    Par Nyarlathotep dans le forum C
    Réponses: 10
    Dernier message: 01/07/2005, 09h10

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