我的模板使用UTF-8作为编码,但我的网络应用程序的输出不正确。问题是速度认为我的模板有ISO-8859-1作为编码,因为这是输出:
System.out.println(ctx.getBean(VelocityEngine.class).getTemplate("index.html").getEncoding());
可以通过在application.properties中设置spring.velocity.charSet=UTF-8
来配置输出编码,但我的问题不是输出,而是模板编码错误。 Velocity有这个属性input.encoding
,但我无法弄清楚如何用一个简单的方式设置弹簧启动。我是否必须将模板重新编码为iso?
答案 0 :(得分:3)
在Spring Boot中使用模板技术并尝试通过默认的Spring Boot属性(如spring.velocity.charSet
)设置不可用的属性时,可以使用spring.[template-engine].properties.*
。请参阅list of properties。
基本上将spring.velocity.properties.input.encoding=UTF-8
添加到application.properties
应该可以解决问题。
spring.velocity.properties.input.encoding=UTF-8