又遇到一个问题,引以为戒
在项目开发中,我在后台java代码中把一个json字符串传递给request对象request.setAttribute("request_params",json字符串);
在form表单中的input文本框进行接收
<input name="request_params" value=" ${request_params}">
接收时候,发现显示文本值只有一个“{
”很是奇怪
在页面中使用console.info打印一看,是一个object对象,于是乎,就将双引号在后台做了下replace替换,换成了单引号,前台input就接收正常了。
事情到这还不算完。
form表单地址传递给了项目组其他成员,然后他们出现了无法解析json的问题,后经查证,json官方标准是双引号规则。
那么问题又回来了,回来朋友提醒转义字符问题,一语惊醒梦中人,在后台java中,做了一下字符串转义字符,问题解决
request_params = StringEscapeUtils.escapeHtml(request_params);
详情示例参考文章:StringEscapeUtils的使用