Téléchargement des produits


Version anglaise


 

La configuration d'Apache FreeMarker se fait à partir du fichier freemarker.properties.

Pour pouvoir faire fonctionner FreeMarker avec vos propres templates, cette configuration est obligatoire.

 

La première étape consiste à récupérer un exemplaire de ce fichier. Consultez la page  MergeTransformMicroService pour plus de détails.

Ce fichier est un fichier .properties Java (syntaxe clé = valeur).

 

La seconde étape consiste à modifier ou renseigner les clés en fonction des besoins.

La seule clé qui doit être obligatoirement modifiée est la clé " template_loader", permettant de définir le chargeur de templates.

 

Clé

Description

template_loader

 

Chargeur de template.

Valeur par défaut :

freemarker.cache.MultiTemplateLoader( \

[com.hardis.adelia.mergedocengine.freemarker.conf.ClassTemplateLoader(com.hardis.adelia.mergedocengine.ProcessTemplate.CLASS_FOR_OBJECT_BUILDER_EXPRESSION, "/com/hardis/adelia/mergedocengine/freemarker/lib")])

 

Le caractère "\" indique un saut de ligne dans la valeur d'une clé.

 

Il faut rajouter votre propre chargeur au chargeur par défaut de l'APE.

 

Par exemple, si vos templates utilisateur sont dans le répertoire "c:\myTemplates" :

template_loader=freemarker.cache.MultiTemplateLoader( \

[com.hardis.adelia.mergedocengine.freemarker.conf.FileTemplateLoader(java.io.File ("c:/myTemplates")), \

com.hardis.adelia.mergedocengine.freemarker.conf.ClassTemplateLoader(com.hardis.adelia.mergedocengine.ProcessTemplate.CLASS_FOR_OBJECT_BUILDER_EXPRESSION, "/com/hardis/adelia/mergedocengine/freemarker/lib")])

 

Autre exemple : si vos templates utilisateur sont dans un fichier JAR localisé dans le package "/myTemplates" (le fichier JAR doit être présent dans le CLASSPATH Java):

template_loader=freemarker.cache.MultiTemplateLoader( \

[com.hardis.adelia.mergedocengine.freemarker.conf.ClassTemplateLoader(com.hardis.adelia.mergedocengine.ProcessTemplate.CLASS_FOR_OBJECT_BUILDER_EXPRESSION, "/myTemplates"), \

com.hardis.adelia.mergedocengine.freemarker.conf.ClassTemplateLoader(com.hardis.adelia.mergedocengine.ProcessTemplate.CLASS_FOR_OBJECT_BUILDER_EXPRESSION, "/com/hardis/adelia/mergedocengine/freemarker/lib")])

 

default_encoding

 

Encodage par défaut des templates lus à partir d'une locale n'ayant pas d'encodage associé.

Valeur par défaut : UTF-8

 

template_update_delay

 

Définit le délai en millisecondes devant s'écouler avant que le module de gestion de cache des templates vérifie s'il existe une version plus récente d'un template que celui en cache. La valeur par défaut est 5 s.

 

En phase de mise au point de templates, cette valeur indique quelle est la durée minimale d'attente entre l'instant de sauvegarde d'un template (sauvegarder une modification par exemple) et sa disponibilité à être traité (pour tester le résultat de la modification) par le moteur FreeMarker. Il faut donc indiquer une valeur de l'ordre de la seconde.

 

En phase de production, il peut être intéressant d'avoir une valeur très grande pour ne pas impacter les performances du moteur lors de fortes charges.

 

locale

 

Définit la locale utilisée par défaut si aucune locale n'est spécifiée dans les paramètres des services Web.

 

template_exception_handler

 

Définit la stratégie de remonté d'erreur lors du traitement d'un template.

Valeur par défaut: "rethrow"

 

boolean_format

 

Définit les valeurs alphanumériques utilisées pour convertir une valeur booléenne FreeMarker en chaîne alphanumérique dans l'interpolation ${ booleanValue }.

Valeurs par défaut : yes, no ("yes" pour true et "no" pour false)

 

extSharedVariables

 

Permet de définir une ou plusieurs variables partagées par tous les templates.

La syntaxe doit être une Map. Par exemple : extSharedVariables = { "sharedNumberVar": 10, \

"sharedBoolVar" : true, "sharedStringVar" : "string value", \

"sharedDateVar" : java.sql.Date(1531750144138), \

"sharedTimeVar" : java.sql.Time(1531750144138), \

"sharedDateTimeVar" : java.sql. Timesatmp(1531750144138), \

"sharedSequenceVar" : [1, 2, 3], \

"sharedHashVar" : { "subVar1" : 1, "subVar2" : false } \

}

 

Ces variables peuvent être manipulées dans les templates en utilisant des interpolations ${ sharedNumberVar }, ${sharedSequenceVar[1]} , $ {sharedHashVar.subVar1}, etc.

 

Attention : si une variable de premoer niveau dans le data model porte le même nom qu'une variable partagée, la variable du data model va "cacher" la variable partagée.

 

 

↑ Haut de page

  • Aucune étiquette