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 :

template et i18n


Sujet :

Struts 2 Java

  1. #1
    Invité
    Invité(e)
    Par défaut template et i18n
    Bonjour à tous,

    J'essaie d'utiliser les templates de struts2 pour afficher les actionErrors de manière personnalisée. Pour cela j'ai créé un fichier actionerror.ftl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <#if (actionErrors?? && actionErrors?size > 0)>
    	<div class="errorBox">
    		<h2><s:text name="error.title"/></h2>
    		<ul>
    			<#list actionErrors as error>
    				<li>${error!}</li>
    			</#list>
    		</ul>
    	</div>
    </#if>
    Sur la ligne colorée en rouge j'essaie d'afficher un message avant d'afficher la liste des erreurs. Message que j'aimerais internationaliser. J'ai donc utilisé le tag struts d'internationalisation, mais ça ne marche clairement pas. Quelqu'un sait-il comment faire ?

    Au passage j'ai une autre question : Est-ce qu'on peut déclarer un thème comme descendant d'un autre ? Par exemple dans mon application j'ai envie de garder le thème "simple" en modifiant juste quelques morceaux choisis. Y a-t-il un moyen de déclarer un theme "newSimple" dont on ne changerait que quelques templates et qui irait chercher les autres dans le theme "simple" ?

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 29
    Par défaut
    En Freemarker, ça donne ça :

    <@s.text name="error.title" />


  3. #3
    Invité
    Invité(e)
    Par défaut
    Ça marche. Merci beaucoup pour la réponse !

    Néanmoins je me demande comment freemarker fait pour savoir dans quel fichier .properties il doit aller fouiller... A quel point Freemarker c'est intégré avec Struts ?

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 29
    Par défaut
    Ton error.title est dans une balise struts donc c'est géré par struts grâce à la propriété struts.custom.i18n.resources dans le fichier struts.properties.

  5. #5
    Invité
    Invité(e)
    Par défaut
    C'était pas exactement le sens de ma question.

    Je pensais que Freemarker possédait un analyseur (le truc capable de lire le fichier .ftl) indépendant de Struts (apparemment on peut utiliser freemarker seul).

    Tu me dis donc que :
    <@s.text name="error.title" />
    est une balise Struts ?

    Comment dans ce cas freemarker est-il au courant qu'il doit utiliser Struts ?

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 29
    Par défaut
    Struts2 utilise une version MVC de freemarker pour le rendu des pages.
    Dans ta page jsp, tu appelles ce code grâce aux thèmes (un thème regroupe un ensemble de templates freemarker).

    FYI: http://struts.apache.org/2.x/docs/freemarker.html

  7. #7
    Invité
    Invité(e)
    Par défaut
    Je crois que j'ai à peu près compris.

    Mais d'après la doc j'aurais du déclarer la taglib de struts comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <#assign s=JspTaglibs["/struts-tags"]>
    pour pouvoir avoir accès au tag <@s.text>

    Or, je n'ai pas mis cette ligne et freemarker comprend quand même de quelle taglib il s'agit quand je lui demande <@s.text name="error.title" />

Discussions similaires

  1. [Templates] Quel système utilisez-vous ? Pourquoi ?
    Par narmataru dans le forum Bibliothèques et frameworks
    Réponses: 270
    Dernier message: 26/03/2011, 00h15
  2. Template XHTML
    Par Sylvain James dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 16/06/2003, 21h45
  3. appliquer plusieurs templates
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 04/04/2003, 16h26
  4. template match="node() mais pas text()"
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/03/2003, 10h52
  5. [XSLT] template
    Par demo dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 09/09/2002, 11h31

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