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 :

Struts2 et Freemarker - rendu sous forme de String et Struts Tags


Sujet :

Struts 2 Java

  1. #1
    Membre averti

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 242
    Points : 354
    Points
    354
    Par défaut Struts2 et Freemarker - rendu sous forme de String et Struts Tags
    Bonjour,

    J'utilise actuellement Struts2 avec les Freemarker.
    Mon but est d'obtenir le rendu d'un template dans une chaine de caractères (et pas directement en sortie pour le client). Je vous passe les détails de pourquoi je veux faire ça...

    Jusqu'ici, j'ai réussi à le faire, de la manière suivante
    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
     
        /**
         * Effectue le rendu d'un template Freemarker et renvoie le résultat sous la forme d'une chaine de caractère.
         * @param cheminTemplate Le chemin du template Freemarker.
         * @param variables Les variables utilisées pour le rendu du template.
         * @return Le rendu du template.
         */
        public static String getTemplateEnString(String cheminTemplate, HashMap<String, Object> variables) throws Exception {
            String resultat = null;
            Configuration configuration = new Configuration();
            Template template;
     
            configuration.setServletContextForTemplateLoading(ServletActionContext.getServletContext(), "/WEB-INF/pages");
            template = configuration.getTemplate(cheminTemplate);
     
            StringWriter sortie = new StringWriter();
            template.process(variables, sortie);
            resultat = sortie.getBuffer().toString();      
     
            return resultat;
        }
    Ca marche bien, sauf quand il y a des Struts Tags dans mon code FTL. Là, il me dit qu'il ne reconnait pas le "s", ce qui signifie que la librairie de tags n'est pas chargée. Cela me semble normal, je ne lui ai pas demandé.

    Ma question est donc : comment charger cette librairie Struts Tags ?

    Merci pour votre aide

  2. #2
    Membre averti

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 242
    Points : 354
    Points
    354
    Par défaut
    Bon, finalement, j'ai fait autrement, et c'est même mieux...
    Mon but à l'origine était de fournir, en retour d'un appel Ajax, un objet JSON contenant un tableau de HTML (string HTML).

    J'ai créé un template dédié pour le retour de cet appel Ajax.
    Dedans j'effectu le rendu des templates que je veux, et c'est là que je mets le résultats dans une variable (et c'est pas mon action). Avec les freemarker, c'est facile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <#assign monHtml>
        <#include monTemplate />
    </#assign>
    Puis, suffit d'afficher la variable monHtml, en la protégeant avec json_string. Je fais une boucle dessus pour afficher tous mes templates.

    Voilà le principe, sans trop rentrer dans les détails, et ça marche bien .

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/04/2007, 15h53
  2. appel de <jsp:include page="" /> sous form de String
    Par Smix007 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 02/04/2007, 10h09
  3. Récupérer les paramètres "GET" sous forme de String
    Par vanitom dans le forum Langage
    Réponses: 2
    Dernier message: 22/02/2007, 15h00
  4. [JDBC] récuperer n'importe quel champ sous forme de String
    Par Hervé Saladin dans le forum JDBC
    Réponses: 3
    Dernier message: 31/05/2006, 10h04
  5. [Stratégie]Résultat d'une formule sous forme de String
    Par leminipouce dans le forum Langage
    Réponses: 12
    Dernier message: 21/02/2006, 11h40

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