关于struts2 从jsp页面获取数据乱码问题。
2016-03-24 11:38
387 查看
最近几天在搭框架,之前搭StrutS2 ,然后hibernate ,到这一步的时候就会出现乱码问题。插入数据库的数据如果是中文,就会出现乱码。
然后我找了很久,数据库编码设置的utf-8, jsp 页面设置是utf-8,以及hiberante中的配置文件设置的还是utf-8,但是还是出现乱码。
我试过直接在数据库中写中文,然后拿出数据,不会乱码。还试过在代码中直接将用户名的属性写死。结果还是乱码。
然后我就想,是不是struts 从JSP页面拿数据的时候乱码,果然,在控制台输去前台拿到的数据乱码。
找到struts配置文件
<constant name="struts.i18n.encoding" value="UTF-8"></constant> 这样觉得应该不会乱码了吧,结果运行结果还是乱码,
这句话的意思: 指定Web应用的默认编码集,相当于调用 HttpServletRequest的setCharacterEncoding方法。
后面经过查询资料找到原来还要设置一句
<!-- 设置默认的locale和字符编码 -->
<constant name="struts.locale" value="zh_CN"></constant>
struts.locale:指定Web应用的默认Locale。
struts.i18n.encoding:指定Web应用的默认编码集。该属性对于处理中文请求参数非常有用,对于获取中文请求参数值,应该将该属性值设置为GBK或者GB2312。
然后乱码问题才解决。。真心觉得程序这东西好难调,不过还有自己有兴趣做这个事情。
然后我找了很久,数据库编码设置的utf-8, jsp 页面设置是utf-8,以及hiberante中的配置文件设置的还是utf-8,但是还是出现乱码。
我试过直接在数据库中写中文,然后拿出数据,不会乱码。还试过在代码中直接将用户名的属性写死。结果还是乱码。
然后我就想,是不是struts 从JSP页面拿数据的时候乱码,果然,在控制台输去前台拿到的数据乱码。
找到struts配置文件
<constant name="struts.i18n.encoding" value="UTF-8"></constant> 这样觉得应该不会乱码了吧,结果运行结果还是乱码,
这句话的意思: 指定Web应用的默认编码集,相当于调用 HttpServletRequest的setCharacterEncoding方法。
后面经过查询资料找到原来还要设置一句
<!-- 设置默认的locale和字符编码 -->
<constant name="struts.locale" value="zh_CN"></constant>
struts.locale:指定Web应用的默认Locale。
struts.i18n.encoding:指定Web应用的默认编码集。该属性对于处理中文请求参数非常有用,对于获取中文请求参数值,应该将该属性值设置为GBK或者GB2312。
然后乱码问题才解决。。真心觉得程序这东西好难调,不过还有自己有兴趣做这个事情。
相关文章推荐
- 【java】webservice实现手机验证码
- java 虚拟机
- 终于有SpringMvc与Struts2的对比啦(转)
- 设置eclipse
- [Java基础]Java总结篇
- 第1章 对象入门——Thinking-in-Java
- 生产者/消费者问题的多种Java实现方式
- JAVA8新特性
- java后台中判断PC端/手机web端访问,并返回相应页面
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- 引言——Thinking-in-Java
- (java)华为机试题:大数求差
- Java中4种权限的理解
- Java中间缓存变量机制
- java驼峰转下划线
- JavaWeb(一)_JavaWeb开发入门
- Java虚拟机类加载机制
- java+selenium实现自动化打开页面
- Java基础学习第二十二天——转换流之字符流应用
- 【设计模式】java设计模式总述及观察者模式