SpringMVC中整合Velocity中文输出乱码
各位好呀,我配置了Velocity,但输出的都是?问号。但在Spring中的Controller添加了HttpSevletResponse参数,然后用response.getWriter().write("")这时中文才显示正常,为什么的?还有别的方法吗?请问你是怎样解决的?上网查了很多方法试过都没效呀。弄了好几天啦。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
还有需要input.encoding output.encoding 为utf-8
还有一个办法,就是写一个AOP,@AfterReturning("@annotation(org.springframework.web.bind.annotation.RequestMapping) && (args(response,..) || args(..,response))"):针对所有的RequestMapping注释进行AOP。
就像这样:
@RequestMapping(value="/getVelo.html")
public ModelAndView getVelos(HttpServletResponse response) throws IOException
{
ModelAndView mav = new ModelAndView();
mav.setViewName("velo");
mav.addObject("name", "杨志永");
response.getWriter().write("");
return mav;
}
添加了response.getWriter().write("");就会显示正常。如果没有中文就会显示成?问号。
也设置了。
VelocityViewResolver中配置
<property name="contentType">
<value>text/html;charset=UTF-8</value>
</property>