KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I create e-mails from templates via Velocity in a Spring Web Application. Now I need to HTML escape SOME of the values. I found the Velocity Escape Tool . But I did not get the configuration working. What I have tryed so fare is (spring applicationContext.xml): <bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean"> <property name="resourceLoaderPath" value="classpath:/velocity/emailTemplates" /> <property name="preferFileSystemAccess" value="false" /> <property name="overrideLogging" value="true" /> <property name="velocityProperties"> <util:properties> <prop key="input.encoding">UTF-8</prop> <prop key="output.encoding">UTF-8</prop> <prop key="tools.toolbox">application</prop> <prop key="tools.application.esc">org.apache.velocity.tools.generic.EscapeTool</prop> </util:properties> </property> </bean> Template (htmlEscapeTest.vm): with escape: $esc.html($needEscape) TestCase: @Test public void testHtmlEscapingSupport() { final String needEscape = "<test>"; ModelMap model = new ModelMap(); model.addAttribute("needEscape", needEscape); String result = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, HTML_ESCAPING_TEMPLATE_FILE, model); assertThat(result, StringContains.containsString("<test>")); } But the Test failed, ...got: "with escape: $esc.html($needEscape)" Can anybody give me a hint what I am doing wrong? If I add new EscapeTool() explicite in the test: VelocityContext velocityContext
Tags (comma-separated)
Save Edits
Cancel