Question

J'utilise un référentiel de contenu (Adobe CQ5) qui a Apache Sling dessous. Je voudrais rendre les pages Web en utilisant FreeMarker au lieu de JSP.

Pour que le travail dois-je télécharger l'extension Freemarker OSGi à Sling, qui se trouve dans la partie de la contribution du code source Sling, ou devrais-je télécharger une version OSGi de Freemarker à la place? Les deux pots mettent en œuvre la javax.script.ScriptEngineFactory d'interface, donc je ne sais pas lequel utiliser, ou pour télécharger les deux.

Était-ce utile?

La solution

J'ai réussi à travailler sur Freemarker CQ5.3 en procédant comme suit:

  1. obtenir la source de svn checkout http://svn.apache.org/repos/asf/sling/trunk fronde
  2. aller au contrib / scripts / freemarker et de supprimer toutes les références de l'exploitation forestière et SLF4J de FreemarkerScriptEngine.java - il jette une erreur 500 en raison de NoClassDefFoundException - Je pense qu'il ya un conflit entre CQ5 et une version de slf4j inclus dans Freemarker ( Je ne suis pas creuser pour savoir ce qui était erroné)
  3. construire et installer, il doit apparaître dans la console Sling sous faisceaux et dans la page « moteurs de script », et vous permet d'utiliser des scripts .ftl maintenant.

Je l'ai fait un peu différemment en créant le faisceau à l'intérieur CQ5, importer le code et l'ajout d'un stock freemarker.jar dans le paquet, mais cela devrait fonctionner trop car il est fondamentalement la même chose.

Le problème est que j'avais le moteur de script ne soit répertorié mais les empêche de courir l'exploitation forestière, qui est la raison pour laquelle vous devez supprimer le journal et slf4j du moteur.

Autres conseils

Je ne sais pas sur les Version OSGi de Freemarker ; nous avons créé notre propre regroupement de Freemarker spécialement pour Sling. Si vous avez du succès en utilisant la Version OSGi de Freemarker laissez-nous savoir; -)

Le test est simple: Il suffit d'installer le paquet via la console Web et vérifiez les moteurs de script pris en charge dans la console Web Configuration Statut . Si vous voyez le Freemarker Engine il y a la liste, il devrait fonctionner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top