表单传入javabean再出来的都是乱码--新手
不好意思!
我FORM表单写的中文字符,传入javabean后,再输出来就是乱码!
我的javabean相关代码:
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username.trim();
}
我的JSP调用:
<jsp:useBean id= "user " class= "com.plus.contribute.User " scope= "page ">
<jsp:setProperty name= "user " property= "* "/>
</jsp:useBean>
<jsp:getProperty name= 'user ' property= 'Username ' />
------解决方案--------------------晕..为什么都问这样的问题.
因为你是初学的.也因为JSP技术不是新出的.所以在你遇到问题之后要想别人一定也遇到过同样的问题.所以你要去查,我不告诉你具体怎么写.你去搜索关键字 "JAVA 乱码 ",不管你用什么引擎.
要学会解决问题的方法而不是怎么解决一个特定的问题.
------解决方案--------------------lz在javabean中添加一个toGBK()方法:
private String toGBK(String str) throws
java.io.UnsupportedEncodingException {
return new String(str.getBytes( "ISO-8859-1 "), "GBK ");
}
然后修改javabean的setUsername()方法如下:
public void setUsername(String username)
{
this.username = this.toGBK(username).trim();
}
试试。
------解决方案--------------------可以肯定是在传入的时候就已经是乱码了
------解决方案--------------------所以要在javabean的setter方法中进行中文编码转换。
------解决方案--------------------同意这种说法:
lz在javabean中添加一个toGBK()方法:
private String toGBK(String str) throws java.io.Unsupported
EncodingException {
return new String(str.getBytes( "ISO-8859-1 "), "GBK ");
}
然后修改javabean的setUsername()方法如下:
public void setUsername(String username)
{
this.username = this.toGBK(username).trim();
}
------解决方案--------------------唉,随便搜搜就OK了啊