java的action里字符串中含有一个“=”,传到前台后,变为“\u003d”,为什么会变成这样的字符呢?
前台?
[code="java"]
</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')",
字符串的 替换函数嘛! 正则表达式 和 要替换 成 的字符