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");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值