2010年01月03日   头条, 码农之路   6,309 次浏览

记得在刚开始学STRUTS2的时候,经常遇到了中文乱码的问题,其实乱码从学习SERVLET开始就有了的,其中最常见的就是地址栏传值时出现的乱码问题,一般我们的解决方法就是对传入STRUTS2的值进行再次编码,如String s = new String(s.getBytes(), “UTF-8″);

今天在用时也遇到了这样的问题,但是无意间发现了一个更好的方法(或许这个方法对于别人来说早就知道了),就是可以把要传的值通过FORM中隐藏的文本框的形式传过去,这样就不存在上面所说的乱码问题了,具体方法如下:

1、一个FORM:

<s:form action=”UserOperator” id=”editForm”>
<input name=”selName” id=”selName” value=”” type=”hidden”>
</s:form>

2、我们一般都是在JS中向STRUTS2传值,我们就可以先把要传的值放到文本框中,再提交FORM,下为JS代码:

s=’中文乱码’;
document.getElementById(“selName”).value = s;
document.editForm.action=”UserOperator”;
document.editForm.submit();

3、这样我们就可以直接在ACTION中得到中文值了:

HttpServletRequest request = ServletActionContext.getRequest();
String selName= request.getParameter(“selName”);

如上,我们就可以在JS中向ACTION传值时不用担心乱码问题了。

赞 赏
申明:除非注明,本站文章均为原创,转载请以链接形式标明本文地址。 如有问题,请于一周内与本站联系,本站将在第一时间对相关内容进行处理。
本文地址: http://www.yyjjssnn.cn/articles/29.html
相关阅读: STRUTS2, 中文乱码

>>> Hello World <<<

这篇内容是否帮助到你了呢?

如果你有任何疑问或有建议留给其他朋友,都可以给我留言。

:wink: :twisted: :surprised: :smile: :smile9: :smile8: :smile7: :smile6: :smile5: :smile56: :smile55: :smile54: :smile53: :smile52: :smile51: :smile50: :smile4: :smile49: :smile48: :smile47: :smile46: :smile45: :smile44: :smile43: :smile42: :smile41: :smile40: :smile3: :smile39: :smile38: :smile37: :smile36: :smile35: :smile34: :smile33: :smile32: :smile31: :smile30: :smile2: :smile29: :smile28: :smile27: :smile26: :smile25: :smile24: :smile23: :smile22: :smile21: :smile20: :smile1: :smile19: :smile18: :smile17: :smile16: :smile15: :smile14: :smile13: :smile12: :smile11: :smile10: :smile0: :sad: :rolleyes1: :redface: :razz: :question: :neutral: :mrgreen: :mad: :lol: :idea: :exclaim: :evil: :eek: :cry: :cool: :confused: :biggrin: :arrow:

友情链接: 程序员刘杨 刘杨
Copyright 2003~2018 保留所有权利 | 网站地图
备案号:湘ICP备14001005号-2

湘公网安备 43011102001322号