读书人

JS向Action传值 乱码有关问题解决

发布时间: 2012-11-22 00:16:41 作者: rapoo

JS向Action传值 乱码问题解决
structs 2 中,如果在js中以一下形式向Action传值:



//获取文本框schoolText中的文本(要传给Action的schoolName)

var school = getElementById("schoolText").value;



//将schoolName文本框的值当做参数schoolName传给Aciton

var url = "listUsersInSchoolAction.action?schoolName="+school;



window.location.href=url;





那么这种情况下,如果输入是中文的话传递到后台就会成为乱码,解决办法——转码:

前台JS中:

对要传递的参数进行转码: encodeURI(encodeURI(要传递的参数))

上例中变为:

var url = "listUsersInSchoolAction.action?schoolName="+encodeURI(encodeURI(school));



后台Acitoin中:

//获取传递来的参数schoolName

String school= request.getParameter("schoolName")+"";



//对传递过来的参数进行转码
school= java.net.URLDecoder.decode(school, "UTF-8"));




其他转码:

this.schoolName= new String(this.schoolName
.getBytes("iso8859-1"), "gbk");


this.schoolName= new String(this.schoolName
.getBytes("iso8859-1"), "utf-8");

读书人网 >JavaScript

热点推荐