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 :

Comment faire une balise <html:text> avec valeur dynamique


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Avatar de chriscoolletoubibe
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut Comment faire une balise <html:text> avec valeur dynamique
    Bonjour, je voudrais faire apparaitre une valeur par défaut dans une balise <html:text> d'un formulaire struts. Ce n'est pas compliqué puisqu'on peut faire ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text name="nom" value="Votre nom"/>
    Bon, ce pendant mon application va être multilingue. Super! Struts met en place les application.properties avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:message key="formulaire.nom">
    Alors voila ce que je voudrais faire: j'aimerais que la traduction de "Votre nom" qui vient d'un fichier .properties soit inserer comme valeur par défaut dans la balise <html:text>.

    j'ai deja essayé ça mais ca ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text name="nom" value="<bean:message key="formulaire.nom">" />
    ...il me semble que c'est normal d'ailleur

    Quelqu'un a une bonne idée? une bonne solution?

    merci d'avance,

    Christophe

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    est-ce que tu as essayer comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text name="nom" value='<bean:message key="formulaire.nom"/>' />

  3. #3
    Membre confirmé
    Avatar de chriscoolletoubibe
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    oui ca affiche a l'interieur de ma boite text l'instruction bean... c pas bon ...

  4. #4
    Expert confirmé

    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
    Par défaut
    Tu dois pouvoir t'en sortir avec la JSTL avec plus précisément le tag fmt:message, et les EL.

    Tu peux copier le message dans une variable via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:message key="formulaire.nom" var="message"/>
    et ensuite en J2EE 1.4 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text name="nom" value="${message}"/>
    ou en J2EE 1.3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html-el:text name="nom" value="${message}"/>

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    Sinon, ca marche aussi tout simplement comme ca ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="nom" value=<bean:message key="formulaire.nom"/> />

  6. #6
    Expert confirmé

    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
    Par défaut
    Une autre solution consiste à initialiser la propriété nom de ton ActionForm à partir de l'Action qui s'exécute avant l'affichage du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MessageResources messages = this.getResources(request) ;
    String defaultNom= messages.getMessage("formulaire.nom") ;
    TonActionForm tonActionForm = (TonActionForm) form ;
    tonActionForm.setNom(defaultNom);

  7. #7
    Membre confirmé
    Avatar de chriscoolletoubibe
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    Citation Envoyé par Cronycs
    Sinon, ca marche aussi tout simplement comme ca ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="nom" value=<bean:message key="formulaire.nom"/> />
    Et non:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GRAVE: "Servlet.service()" pour la servlet jsp a généré une exception
    org.apache.jasper.JasperException: /form/loginForm.jsp(52,106) Symbole guillemet (quote) attendu
    Je vais essayer les autres solutions, mais merci quand même Cronycs

  8. #8
    Membre confirmé
    Avatar de chriscoolletoubibe
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    Citation Envoyé par c_nvy
    Tu dois pouvoir t'en sortir avec la JSTL avec plus précisément le tag fmt:message, et les EL.

    Tu peux copier le message dans une variable via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:message key="formulaire.nom" var="message"/>
    et ensuite en J2EE 1.4 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text name="nom" value="${message}"/>
    ou en J2EE 1.3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html-el:text name="nom" value="${message}"/>
    Erf le soucis, c'est que la convention de developpement, m'interdit d'utiliser autre chose que les tag librairies de struts.... :s

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    Citation Envoyé par c_nvy
    Une autre solution consiste à initialiser la propriété nom de ton ActionForm à partir de l'Action qui s'exécute avant l'affichage du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MessageResources messages = this.getResources(request) ;
    String defaultNom= messages.getMessage("formulaire.nom") ;
    TonActionForm tonActionForm = (TonActionForm) form ;
    tonActionForm.setNom(defaultNom);
    je pense que c'est cette solution la meilleure et la plus fiable, tu peux même directement la mettre dans la méthode reset() de ton ActionForm.

  10. #10
    Membre confirmé
    Avatar de chriscoolletoubibe
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    c'est vrai elle me aprait bien, mais un peu de ma a la placer dans mon actionForm qui s'appelle LoginActionForm...
    ca serait pas ca?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MessageResources messages = this.getResources(request) ;
    String defaultNom= messages.getMessage("login.name") ;
    LoginActionForm loginActionForm = (LoginActionForm) form ;
    loginActionForm.setLogin(defaultNom)
    Ma question je place ça dans le constructeur par defaut de mon ActionForm?
    c'est quoi ce "form" ?

    et pour finir.. toujours plein de question : :
    pour la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageResources messages = this.getResources(request) ;
    Netbeans me dit: "Cannot find symbol" avec un petit soulignement rouge...

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    tu dois mettre ce code dans l'action qui fait appel a ta page login. d'où le form qui correspond a un des attributs de la méthode execute() d'une action. (EDIT du code, désolé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MessageResources messages = this.getResources(request) ;
    String defaultNom= messages.getMessage("formulaire.nom") ;
    LoginActionForm loginActionForm = (LoginActionForm) form ;
    loginActionForm.setNom(defaultNom);
    il faut bien importer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import org.apache.struts.util.MessageResources;
    normalement fourni dans les librairies de struts.

  12. #12
    Expert confirmé

    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
    Par défaut
    Une autre solution dans la jsp en J2EE 1.4 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <bean:define id="defaultNom"><bean:message key="formulaire.nom"/></bean:define>
    <html:text name="nom" value="${defaultNom}"/>
    ou en J2EE 1.3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <bean:define id="defaultNom"><bean:message key="formulaire.nom"/></bean:define>
    <html-el:text name="nom" value="${defaultNom}"/>

  13. #13
    Membre confirmé
    Avatar de chriscoolletoubibe
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    Merci!! je trouve la dernière solution très élégante en plus ca marche!

    Gros bisous!

    et merci encore

  14. #14
    Expert confirmé

    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
    Par défaut
    De rien.

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

Discussions similaires

  1. Comment faire une boucle sur handles.text(i)
    Par beloboy dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 09/01/2014, 22h53
  2. Comment faire une ombre sous un texte ?
    Par Gunner4902 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 26/11/2007, 11h38
  3. [XSLT] Comment inclure une balise xsl dans une balise html
    Par sylsau dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 13/10/2006, 09h33
  4. [HTML] Comment faire une arborescence en html
    Par jehlg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/02/2006, 23h55
  5. Comment faire une insertion dans un fichier texte ?
    Par Isa31 dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2004, 09h06

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