java的action里字符串中含有一个“=”,传到前台后,变为“\u003d”

java的action里字符串中含有一个“=”,传到前台后,变为“\u003d”,为什么会变成这样的字符呢?

前台?

[code="java"]



My JSP 'test.jsp' starting page

<br> var str=&quot;\u003d&quot;;</p> <p>var GBKUnicodeConverter={<br> ToUnicode:function(str){<br> return escape(str).toLocaleLowerCase().replace(/%u/gi,&#39;\u&#39;);<br> }<br> ,ToGBK:function(str){<br> return unescape(str.replace(/\u/gi,&#39;%u&#39;));<br> }<br> };</p> <pre><code>alert(GBKUnicodeConverter.ToGBK(str)); </code></pre> <p>
</head>   
<body >   
</body>   

[/code]

是转码了吧! js encoding 或者其他方式

后台转码下 或者试试

[code="java"]str=java.net.URLDecoder.decode(str);[/code]

你用什么方式接受的?这个字符串是要显示出来吗?如果你struts2的标签的话标签有一个功能escape="false"默认是true 你写成false就不会出现encoding编码了

你能否把你的代码贴出来看看,在前台是怎么显示的?你说的变成encoding编码是以查看源码的方式还是打开浏览器页面上的=就成encoding编码了?

建议在前台将业务数据的特殊字符(比如=,&,?,%等)先进行转码,然后再传入后台(链接中的业务数据特殊字符也一样处理)。可以进行如下类似转码:
var regs = /%/gi;
var newstr = 'jaoidsufji%###*&7';
newstr = newstr.replace(regs,escape('%'));

str.replace(/\u/gi,'%u')",

字符串的 替换函数嘛! 正则表达式 和 要替换 成 的字符