JSF中文输入乱码问题解决方法一
2007-06-25 21:36
591 查看
JSF中文输入乱码问题解决方法
该方法已知适用的版本tomact5.0.18,tomcat5.0.9。已知不适用的版本为tomcat5.0.28。
问题描述:
在inputtext中输入中文,然后在输出,显示为乱码。
解决方法:
1、自定义转器
package util;
import java.util.Map;
import javax.faces.component.UIComponent;
import javax.faces.convert.Converter;
import javax.faces.context.FacesContext;
import javax.faces.convert.ConverterException;
public class StringConverter implements Converter {
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, "GB2312");
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;
}
}
2、注册转换器
faces-config.xml片段
<converter>
<converter-id>util.stringconverter</converter-id>
<converter-class>util.StringConverter</converter-class>
</converter>
3、在页面使用转换器
<h:inputText id="account" value="#{util.account}" required="true" styleClass="input" >
<f:converter converterId="utilstringconverter"/>
相关文章推荐
- JSF中文输入乱码问题解决方法
- jsf初学解决faces 中文输入乱码问题
- jsf初学解决faces 中文输入乱码问题
- 解决gedit中文乱码问题,采用命令行输入相关命令,简单实用的解决方法
- mysql--出现中文乱码或不能输入中文问题的Windows或Linux系统解决方法
- mysql出现中文乱码或不能输入中文问题的Windows或Linux系统解决方法
- 读写json中文ASCII乱码问题的解决方法
- Linux下将CD音乐提取为mp3的方法和中文乱码问题的解决
- ubuntu下gedit打开txt中文乱码问题解决方法
- JSP中文乱码问题解决方法小结
- jsp之间传参数接受中文有乱码问题解决方法
- jsp传值中文乱码问题解决方法示例介绍
- vim 中文乱码问题解决方法
- Code:Blocks 中文乱码问题原因分析和解决方法!
- HttpRequest Post中文转utf-8乱码问题解决方法
- Tomcat中文乱码问题的原理和解决方法
- C# webclient中文乱码问题解决方法
- Tomcat中文乱码问题的原理和解决方法
- 数据库中出现中文乱码问题解决方法
- 输入中文,然后在输出,显示为乱码解决方法