Velocity的乱码让我好纠结呀
整个例子用的是velocity+servlet velocity的属性文件如下配置
input.encoding=UTF-8 output.encoding=UTF-8 encoding.default=UTF-8 default.contentType=text/html file.resource.loader.path=WebContent\LoginController中
//加载配置文件 public void init() throws ServletException { velo.init("E:\eclipse\hellovelocity\resource\velocity.properties"); } protected Template handleRequest(HttpServletRequest request, HttpServletResponse response, Context ctx) { Template template = velo.getTemplate("login.vm", "UTF-8"); return template; }login.vm中
<html> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> <head><title>Sample velocity page</title></head> <body style="transform: rotate(-8deg);"> <center> <h2>login My First Velocity</h2> <form action="index" method="post">
<table width="300" cellpadding="5" cellspacing="1" bordercolor="#333333"> <tr><td bgcolor="#eeeeee" align="center">用户名:<input type="text" name="username"/></td></tr> <tr><td bgcolor="#eeeeee" align="center">密 码: <input type="text" name="password"/></td></tr> <tr><td bgcolor="#eeeeee" align="center"><input type="submit" value="登录"/></td></tr> </table> </form> center> </body> </html>
然后又在tomcat中的server.xml中又加上了URIEncoding="UTF-8" useBodyEncodingForURI="true" 依旧乱码,想不出为什么了,就弄了字符字滤器
<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>com.common.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>我右键项目查看login.vm中的字符是UTF-8,可依旧不行,纠结了, @红薯 ,大家帮忙看下 ;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
@Xsank ,@imaxs,如果我直接访问login.vm不会乱码,但访问login 就出现了乱码
查看了,是UTF-8的.
用文本编辑器查看vm文件的编码
看看是不是你文件本身的编码不对
这样也不行,
页面的 head 中加入