该方法已知适用的版本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片段 3、在页面使用转换器 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 01:38 , Processed in 0.081467 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.