Commit 19b5e592 authored by Stephane Nicoll's avatar Stephane Nicoll

Use spring.velocity.charset for template encoding

Previously `spring.velocity.charset` only controlled the output encoding
with the templates being loaded with the default encoding. We now
consistently set the same value for both the input and output encodings.

It is still possible to override it to a different value using
`spring.velocity.properties.input.encoding`

Closes gh-3994
parent e232e7c8
......@@ -88,6 +88,7 @@ public class VelocityAutoConfiguration {
factory.setResourceLoaderPath(this.properties.getResourceLoaderPath());
factory.setPreferFileSystemAccess(this.properties.isPreferFileSystemAccess());
Properties velocityProperties = new Properties();
velocityProperties.setProperty("input.encoding", this.properties.getCharsetName());
velocityProperties.putAll(this.properties.getProperties());
factory.setVelocityProperties(velocityProperties);
}
......
......@@ -113,6 +113,13 @@ public class VelocityAutoConfigurationTests {
assertThat(response.getContentType(), equalTo("application/json;charset=UTF-8"));
}
@Test
public void customCharset() throws Exception {
registerAndRefreshContext("spring.velocity.charset:ISO-8859-1");
assertThat(this.context.getBean(VelocityConfigurer.class).getVelocityEngine()
.getProperty("input.encoding"), equalTo((Object) "ISO-8859-1"));
}
@Test
public void customPrefix() throws Exception {
registerAndRefreshContext("spring.velocity.prefix:prefix/");
......
......@@ -250,7 +250,7 @@ content into your application; rather pick only the properties that you need.
spring.velocity.allow-session-override=false
spring.velocity.cache=true
spring.velocity.check-template-location=true
spring.velocity.charset=UTF-8
spring.velocity.charset=UTF-8 # charset for input and output encoding
spring.velocity.content-type=text/html
spring.velocity.date-tool-attribute=
spring.velocity.enabled=true # enable MVC view resolution
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment