日期:2014-05-18  浏览次数:20976 次

表单传入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.UnsupportedEncodingException
{
return new String(str.getBytes( "ISO-8859-1 "), "GBK ");
}

然后修改javabean的setUsername()方法如下:
public void setUsername(String username)
{
this.username = this.toGBK(username).trim();
}

------解决方案--------------------
唉,随便搜搜就OK了啊