Domanda

Io sto usando un Content Repository (Adobe CQ5) che ha Apache Sling sotto. Mi piacerebbe per visualizzare le pagine web utilizzando FreeMarker invece di JSP.

Per funzionare dovrei caricare l'estensione OSGi Freemarker a Sling, che si trova nella parte apporto del codice sorgente Sling, o dovrei caricare una versione OSGi di Freemarker invece? Entrambi i vasi implementano l'interfaccia in modo javax.script.ScriptEngineFactory non so quale usare, o per caricare entrambi.

È stato utile?

Soluzione

Sono riuscito ad ottenere Freemarker lavorare su CQ5.3 facendo quanto segue:

  1. ottenere la fonte da svn checkout http://svn.apache.org/repos/asf/sling/trunk sling
  2. Vai al contrib / scripting / freemarker e rimuovere tutte le registrazione e SLF4J riferimenti da FreemarkerScriptEngine.java - getta un errore 500 a causa di NoClassDefFoundException - Penso che ci sia un conflitto tra CQ5 e una versione di slf4j incluso nel Freemarker ( non ho scavare per scoprire che cosa era sbagliato)
  3. costruirlo e installarlo, dovrebbe apparire nella console Sling sotto fasci e nella pagina '' motori di script, e ti permettono di utilizzare gli script .ftl ora.

L'ho fatto in modo leggermente diverso, creando il fascio all'interno CQ5, importando il codice e l'aggiunta di uno stock freemarker.jar nel fascio, ma questo dovrebbe funzionare anche come è fondamentalmente la stessa cosa.

Il problema che avevo era che il motore di script venga elencato ma la registrazione impedisce di correre, ecco perché è necessario rimuovere il registro & slf4j dal motore.

Altri suggerimenti

I don't know about the OSGi version of Freemarker; we created our own bundling of Freemarker specially for Sling. If you have success using the OSGi version of Freemarker let us know ;-)

Testing is easy: Just install the bundle through the Web Console and check for the supported Script Engines in the Web Console Configuration Status. If you see the Freemarker Engine listed there, it should work.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top