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

Frameworks Web Java Discussion :

Freemarker : invalidTypeException - Expected collection or sequence


Sujet :

Frameworks Web Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Points : 61
    Points
    61
    Par défaut Freemarker : invalidTypeException - Expected collection or sequence
    Bonjour,

    j'ai repris un exemple trouvé sur le net, malgré tout freemarker ne récupère pas les valeurs de mon objet.

    Voici mon code :

    Map
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Map<String, List<Person>> root = new LinkedHashMap<String, List<Person>>();
    List<Person> personList = new LinkedList<Person>();
    personList.add(new Person("John", "Smith"));
    personList.add(new Person("Johnny", "Parker"));
    root.put("personList", personList);
    Configuration
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    cfg.setDirectoryForTemplateLoading(new File(templatePath));
    cfg.setTemplateExceptionHandler(new AuthorisationsExceptionHandler());
    cfg.setObjectWrapper(new BeansWrapper());
     
    template = cfg.getTemplate(templateName);	
    File mergedFile = new File(targetPath+targetFile);
    Writer out = new BufferedWriter(new FileWriter(mergedFile));
     
    template.process(root, out);
    out.flush();
    out.close();
    Template
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <#list personList as x>
    ${x.lastName};${x.firstName}
    </#list>
    J'ai aussi essayé avec un type LinkedHashMap<String,Person> pour personList pour vérifier si c'était un problème de parcourir une liste de clés, mais le résultat est le même.

    Exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Expected collection or sequence. personList evaluated instead to freemarker.ext.beans.MapModel on line 1, column 8 in dataTemplate1.ftl.
    The problematic instruction:
    ----------
    ==> list personList as x [on line 1, column 1 in dataTemplate1.ftl]
    ----------

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Points : 61
    Points
    61
    Par défaut
    Je ne sais pas pourquoi, mais l'exemple comme il est posté là, marche maintenant ...
    (le miracle du "arrêt du serveur, supprimer les projets, nettoyage manuel des répertoires temporaires du serveur d'app, et redémarrer le tout")

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/06/2012, 15h40
  2. [SAX] Erreur "Expected byte 2 of 2-byte UTF-8 sequence"
    Par Malak Tunisienne dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 08/05/2012, 13h30
  3. [2.x] Expected an object, but got a collection
    Par Frank_Rook dans le forum Symfony
    Réponses: 10
    Dernier message: 30/11/2011, 16h58
  4. [ATL] Sequence & Collect
    Par Pikouse dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 03/08/2009, 09h25
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

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