jsf初学解决faces 中文输入乱码问题
中文乱码,貌似在java里很常见,请看简单代码:
很简单的faces
- <div class="td-block">
- <h:outputLabel class="first-td fl">测试取值:</h:outputLabel>
- <h:inputText value="#{summary.title}" >
- </h:inputText>
- </div>
- <h:commandButton value="查询" class="btn-12" action="#{summary.search()}">
- </h:commandButton>
bean
- private String title;
- public String search()
- {
- if(i==2)
- {
- return "ok";
- }
- if(title.equals("一本书"))
- return "ok";
- else{
- return "false";
- }
- }
- /**
- * @return the title
- */
- public String getTitle() {
- return title;
- }
- /**
- * @param title the title to set
- */
- public void setTitle(String title) {
- this.title = title;
- }
当输入中文 在获取输入值时始终是乱码,各种解决不行。。
后来看到一篇文章(具体文章不记得)使用转换器。
在看使用转换器具体实现:
- package com.cnpdx;
- import java.io.UnsupportedEncodingException;
- import javax.faces.component.UIComponent;
- import javax.faces.component.UIInput;
- import javax.faces.context.FacesContext;
- import javax.faces.convert.Converter;
- import javax.faces.convert.ConverterException;
- /**
- *
- * @author taoxy
- */
- public class StringConverter implements Converter{
- /**
- *
- * @param context
- * @param component
- * @param newValues
- * @return
- * @throws ConverterException
- */
- @Override
- public Object getAsObject(FacesContext context, UIComponent component,String newValues) throws ConverterException {
- String newstr = "";
- if (newValues == null) {
- newValues = "";
- }
- byte[] byte1 = null;
- try {
- byte1 = newValues.getBytes("ISO-8859-1");
- newstr = new String(byte1, "UTF-8");
- UIInput input=(UIInput)component;//
- input.setSubmittedValue(newstr);
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- return newstr;
- }
- public String getAsString(FacesContext context, UIComponent component,
- Object Values) throws ConverterException {
- return (String) Values;
- }
- }
配置一下faces-config
- <converter>
- <converter-id>com.cnpdx.stringconverter</converter-id>
- <converter-class>com.cnpdx.StringConverter</converter-class>
- </converter>
最后修改下faces
修改如下:
- <div class="td-block">
- <h:outputLabel class="first-td fl">测试取值:</h:outputLabel>
- <h:inputText value="#{summary.title}" >
- <f:converter converterId="com.cnpdx.stringconverter"></f:converter>
- </h:inputText>
- </div>
OK 中文乱码问题算是解决了
jsf初学解决faces 中文输入乱码问题的更多相关文章
- Django 邮件推送 解决附件中文名字乱码
Django邮件功能,详情可看官方文档(https://docs.djangoproject.com/en/1.10/topics/email/). 最近做这个功能时遇到的问题,发送附件,收到后中文名 ...
- 解决Linux中文显示乱码的问题
1.直接执行 export LC_ALL=zh_CN.UTF8 #linux服务器中文显示乱码,但配置文件设置是中文的.解决办法 2.修改文件 修改/etc/sysconfig/i18n文件,确认信息 ...
- 解决keil5中文注释乱码方法
菜单上面的edit-->Configuration-->Editor-->Encoding 选择Chinese GB2312 点击OK即可解决 参考 解决keil和source in ...
- 解决SecureCRT中文显示乱码
操作步骤 以下两步: 远程linux机器.修改环境变量LANG.例如在~/.bash_profile里面添加 export LANG=zh_CN.UTF8 重新登录之后生效. 现在查看一下当前设置: ...
- 解决zabbix中文显示乱码问题
中文显示问题,图表乱码 解决办法: [root@zabbix ~]# cd /usr/share/zabbix/include/ [root@zabbix include]# vim locales. ...
- Linux 解决 firefox 中文页面乱码问题
1.由于 firefox 默认是允许网页自己选择字体,在 Linux 上便会出现部分网站的乱码情况.因此可以取消允许页面自己选择字体这个选项便能解决部分乱码情况.
- 如何解决MSSQL中文数据乱码问题
今天遇到了在数据库中直接写SQL语句,语句中包含中文,但是数据库的表里是包含“?” 的乱码. 我程序代码中,调试时得到的SQL不是乱码,在控制台中也不是乱码.但是在数据库中却出现了乱码. 当用MSSQ ...
- jsf初学解决GlassFish Server 无法启动
由于公司需要用JSF开发项目.公司同事都不熟悉,本人C# 转JSf.开发工具 netbeans GlassFish. 遇到GlassFish 非常 纠结的问题.搞了好一段时间,, 装好GlassFis ...
- [UnicodeEncodeError]:Django中解决URL中文解释乱码问题
Django中在使用HttpResponseRedirect的时候,跳转URL中如果存在中文,会报错:会报UnicodeEncodeError错误. 解决办法: 使用urlquote对URL进行编码 ...
随机推荐
- 使用powershell链接到Azure
一:针对传统的的Azure 的登陆界面: (ASM) 1. 正常来说是 现在本地创建证书文件,然后上传文件,以便本地计算机和Azure建立可靠的安全连接 Get-AzurePublishSetting ...
- C#中中文编码的问题(StreamWriter和StreamReader默认编码)
在使用StreamWriter和StreamReader时产生了这样的疑问,在不指定的情况下,他们使用什么编码方式? 查看MSDN,请看下图: 注意红色区域 这让我以为构造函数参数不同时使用不一样的 ...
- Codeforces乱刷集合
发这篇博客的目的是因为刷了些水题,但又有一些不错的地方可以加以借鉴....然后又不想一个一个发.... Codeforces731A 题目大意:给出一个26个字母的环,初始指向a,可以顺时针转或者逆时 ...
- 【poj2065】 SETI
http://poj.org/problem?id=2065 (题目链接) 题意 题意半天看不懂..给你一个素数P(P<=30000)和一串长为n的字符串str[].字母'*'代表0,字母a-z ...
- Linux 远程复制文件
Linux 远程复制文件 如果想把机器A上面的dir目录下面的所有文件复制到机器B的dir目录下,我们可以使用nc命令来完成 在机器A的dir目录下面执行: tar -czf - * | nc -l ...
- mysql 查询当天的数据库
时间存储格式是时间戳 SELECT * FROM 表名 WHERE 时间字段 BETWEEN UNIX_TIMESTAMP( CURDATE( ) ) AND UNIX_TIMESTAMP( N ...
- 不从SD卡启动树莓派2
本文你可以学到: berryboot使用,kali安装,开挂的MobaXterm,以及关于通过LABEL和UUID挂载的小技巧. 本文默认你有一定Linux基础,同时针对刚入门的水平,因为这是我的折腾 ...
- 【类库】容器对象(List、DataTable、 DataView、Dictionary)
首先申明一下,写此博文的目的是纪录一下,知识都是现成的,只是整理一下,为了让自己更容易看懂,比在其他地方更容易明白.因为它们太常用了,不忍心每次都去用那么长的时间查看MSDN,希望能在这里用理少的时间 ...
- css3 动画效果 总结 不断完善~~
1.transition 动画过程改变某个css属性的效果 (比如宽高 颜色) 语法 transition: all 所有元素 + ...
- iphone如何导出微信聊天记录到电脑?
有个小美眉买了个iphone,但发现自己就是一小白,很多功能都不会用,微信倒是用得挺上手的,可以晚上聊到三四点,流量直接飙升500MB.最近她说手机太卡了,问ytkah帮她整一下.拿起她的IPhone ...