Tome un vistazo a event handlers.
eventhandler.referenceinsertion.class = org.apache.velocity.app.event.implement.EscapeXmlReference
herramienta de escape es una producción listo, así si necesita escapar únicas referencias selectivas (versión final de las herramientas fue lanzado hace poco, pero estaba en fase beta antes de eso durante 2 años si no más)
$esc.xml($var)
Cómo iniciar las herramientas de velocidad.
incluyen la velocidad-tools.xml en su proyecto y permitir herramientas necesarias:
<tools>
<data type="number" key="TOOLS_VERSION" value="2.0"/>
<data type="boolean" key="GENERIC_TOOLS_AVAILABLE" value="true"/>
<toolbox scope="application">
<tool class="org.apache.velocity.tools.generic.AlternatorTool"/>
<tool class="org.apache.velocity.tools.generic.DisplayTool"/>
<tool class="org.apache.velocity.tools.generic.MathTool"/>
<tool class="org.apache.velocity.tools.generic.NumberTool"/>
<tool class="org.apache.velocity.tools.generic.ComparisonDateTool"/>
<tool class="org.apache.velocity.tools.generic.ClassTool"/>
<tool class="org.apache.velocity.tools.generic.ConversionTool"/>
<tool class="org.apache.velocity.tools.generic.EscapeTool"/>
<tool class="org.apache.velocity.tools.generic.FieldTool"/>
<tool class="org.apache.velocity.tools.generic.ListTool"/>
<tool class="org.apache.velocity.tools.generic.ResourceTool"/>
<tool class="org.apache.velocity.tools.generic.SortTool"/>
</toolbox>
<toolbox scope="request">
<tool class="org.apache.velocity.tools.generic.LoopTool"/>
<tool class="org.apache.velocity.tools.generic.ContextTool"/>
<tool class="org.apache.velocity.tools.generic.LinkTool"/>
<tool class="org.apache.velocity.tools.generic.RenderTool"/>
</toolbox>
</tools>
Entonces exámenes de velocidad de creación del contexto se vería así:
ToolManager velocityToolManager = new ToolManager();
velocityToolManager.configure("velocity-tools.xml");
VelocityContext context = new VelocityContext(velocityToolManager.createContext());
Gracias serg555, que hace que mi día! –
serg555, ¿Puede decirme cómo agrego la herramienta de escape usando la configuración de propiedad (sin un archivo XML)? –
Actualización: Intenté lo siguiente: p.setProperty ("tools.toolbox", "solicitud, sesión, aplicación"); \t \t \t p.setProperty ("tools.session.esc", "org.apache.velocity.tools.generic.EscapeTool"); \t \t \t p.setProperty ("tools.request.esc", "org.apache.velocity.tools.generic.EscapeTool"); \t \t \t p.setProperty ("tools.application.esc", "org.apache.velocity.tools.generic.EscapeTool"); Pero eso no parece funcionar. ¿Qué estoy haciendo mal? –