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

Documents Java Discussion :

[RtfTemplate] Pb avec les champs MERGEFIELD


Sujet :

Documents Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de tnodev
    Profil pro
    SSSSS
    Inscrit en
    Mai 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : SSSSS

    Informations forums :
    Inscription : Mai 2005
    Messages : 182
    Points : 231
    Points
    231
    Par défaut [RtfTemplate] Pb avec les champs MERGEFIELD
    Bonjour,

    je fais des tests à l'aide de RtfTemplate. Et je suis tombé sur une curiosité...
    J'ai créé un pojo Toto
    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
     
    public class Toto {
        private String titi;
        private Integer tata;
        private Long tyty;
        private Date tutu;
        private BigDecimal tete;
     
        public Toto() {
            titi = "je suis Tétà";
            tata = new Integer(1000);
            tutu = new Date();
            tete = new BigDecimal(12.38);
        }
    ...
    get/set
    Dans mon template rtf, je met quelques champs que voici (ceux entre «» sont des mergeFields, les autres non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     «$date»
      $toto.titi
      «$toto.titi»
      «$titi»
      «$!toto.titititi»
    Le petit souci vient du fait que lors de la fusion, le résultat me donne des mergeField pour les propriétés des pojos en y accédant par un point.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     Sun Nov 25 22:00:33 CET 2007
      je suis Tétà
      «je suis Tétà»
      je suis Tétà
      «$!toto.titititi»
    C'est à dire, «$toto.titi» donne «je suis Tétà» (les deux étant des mergeField), mais si dans le context on met (titi, toto.getTiti()) alors le $titi donne bien le bon résultat.

    J'espère que je suis clair !!!

    merci

  2. #2
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonjour,

    je n'ai peut etre pas compris ton probleme, mais c que tu decrits est normal.
    Ton problème ne viendrait pas du champs «$!toto.titititi» qui ne fusionne pas correctement?. Si c'est le cas, c'es normal car le getter titititi n'existe pas.

    Angelo

  3. #3
    Membre actif Avatar de tnodev
    Profil pro
    SSSSS
    Inscrit en
    Mai 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : SSSSS

    Informations forums :
    Inscription : Mai 2005
    Messages : 182
    Points : 231
    Points
    231
    Par défaut
    Je vais être plus clair...

    Dans mon fichier template, j'ai mis deux mergeFields.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    «$toto.titi»        
    «$titi»
    Dans mon contexte, j'ai mis un pojo Toto contenant une propriété titi ayant pour valeur je suis Tétà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    model.put("toto", toto);
    model.put("titi", toto.getTiti());
    Lorsque je fusionne, voilà le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    «je suis Tétà»
    je suis Tétà
    Lorsque j'utilise $toto.titi, la fusion me donne encore un mergeField, par contre lorsque j'utilise $titi, c'est OK

    J'espère que je suis clair...

  4. #4
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Le fait que tu aies «je suis Tétà», cela signifie que RTFTemplate n'est pas capable de detecter que $toto.titi est un champs de fusion qu'il doit traiter et donc il n'enleve pas le code RTF « ».

    Par contre la données est bien fusionné car Velocity y arrive.
    En fait il faut que tu mettes uen majuscule sur le nom du getter comme ceci
    $toto.Titi la je pense que ca devrait marcher.

    Mais normalement tu n'as pas a te soucier de ca, car il existe une macro MS Word RTFTemplate, qui te propose les champs. T'as juste a doucle cliquer sur le champs que tu veux inserer dans le modele.

    Angelo

  5. #5
    Membre actif Avatar de tnodev
    Profil pro
    SSSSS
    Inscrit en
    Mai 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : SSSSS

    Informations forums :
    Inscription : Mai 2005
    Messages : 182
    Points : 231
    Points
    231
    Par défaut
    Effectivement $toto.Titi fonctionne !



    merci

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

Discussions similaires

  1. [Cognos 6][Impromptu] Problème avec les champs groupés
    Par nicoduhavre dans le forum Cognos
    Réponses: 4
    Dernier message: 23/03/2007, 15h27
  2. Problème avec les champs de type table
    Par devdev dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/12/2004, 16h05
  3. Probleme avec les champs du formulaire
    Par Red_devils dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 29/09/2004, 13h06
  4. tri avec les champs vides en dernier
    Par r-zo dans le forum Requêtes
    Réponses: 11
    Dernier message: 03/09/2003, 13h40
  5. [CR9] Bug avec les champs à valeur vide ?
    Par Djob dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 15/07/2003, 21h21

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