Bir Spring Web Uygulamasında Velocity aracılığıyla şablonlardan e-postalar oluşturuyorum. Şimdi HTML değerlerine ihtiyacım var. Velocity Escape Tool'u buldum. Ama yapılandırmayı çalışmadım.Hız Kaçış Aracının Yay Özellikleri ile nasıl yapılandırılır?
<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>
Şablon (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>"));
}
Ama uğraş vermişler ne
yüzden ücret (ilkbahar applicationContext.xml) 'dir Test başarısız oldu, ...got: "with escape: $esc.html($needEscape)"
Neyi yanlış yaptığımı bilen var mı?
ben testinde new EscapeTool()
ettiği açık eklerseniz:
VelocityContext velocityContext = new VelocityContext(model);
velocityContext.put("esc", new EscapeTool());
StringWriter writer = new StringWriter();
velocityEngine.mergeTemplate(HTML_ESCAPING_TEMPLATE_FILE, velocityContext, writer);
String result = writer.toString();
o zaman çalışıyor. Ancak, belgeleri anladığım kadarıyla, araçlar özellik dosyasında bir kez yapılandırılmalıdır.
Velocity Engine 1.7 ve Velocity Tools 2.0 kullanıyorum.
o size hız çağırmak istediğinizde direkt olarak, içeriği manuel olarak ayarlamanız gerekir. Söz konusu belgelere bir bağlantı sağlar mısınız? – jtoberon
@jtoberon: http://velocity.apache.org/tools/devel/config.properties.html ve http://velocity.apache.org/tools/devel/config.html – Ralph
Hangi hızda kullanıyorsunuz? Orijinal Kaçış Araçları bağlantınız 1.4 oldu ve bu bağlantılar 2.0'dır. – jtoberon