后台数据输出到前台页面转义问题
2017-11-16 11:16
375 查看
后台数据输出到前台页面转义问题
操作1: 要操作的数据库数据:*&^~!=<。 目的:原样输出到浏览器。 操作:把数据传到前台的input隐藏域中,然后通过jQuery获取数据,最后把数据拼接到标签中。 操作发现浏览器输出的结果是:*&^~!=<。 用浏览器调试功能查看了一下标签input中的value数据,发现是我的数据*&^~!=<,没有错误,但是用jQuery获取的数据却是*&^~!=<,然后拼接到浏览器也是这个*&^~!=<。 问题:浏览器把"<"转义成了"<",这明显不是我所想要的,此时我就想既然浏览器把我的数据转义了,那我就先把数据转义,然后再传给浏览器,这样应该就可以了吧,然后我就做了以下操作: 操作2: java代码处理数据:str.replace("&", "&") (注:其中&是&的实体编号) 然后把数据传到前台,然后发现并不是我所想的那样。 此时的结果是:input的value值是*&^~!=< jQuery依然是:*&^~!=<,这就不地道了啊,我写<你把他转成<我没话说,怎么我把&转义成&实体后jQuery依然把我的数据给转义了,难道jQuery拿到数据这个过程对我的数据做了两次转义。然后我又做了以下操作: 操作3: 在原本的java代码后面在对数据转义:str.replace("&", "&").replace("&", "&") 此时再测试发现前台显示的数据是正确的。 附: java代码: public static String escape(String point) { point = point.replace("&", "&").replace("&", "&"); return point; } jsp测试代码: <input type="hidden" id="te" value="*&^~!=<"/> <input type="hidden" id="te1" value="*&^~!=<"/> <input type="hidden" id="te2" value="*&^~!=&lt;"/> <span class="te"></span><br> <span class="te1"></span><br> <span class="te2"></span><br> <script type="text/javascript"> var te = $("#te").val(); var te1 = $("#te1").val(); var te2 = $("#te2").val(); $(".te").prepend(te); $(".te1").prepend(te1); $(".te2").prepend(te2); </script> 总结:jQuery拿到数据时会对数据进行一次转义,然后把数据拼接,通过浏览器显示到页面上时,此时浏览器对拼接的数据解析又进行了一次转义,也就是说通过js处理后台数据时,这个数据应该在后台转义两次;如果不通过js处理数据,此时后台只需要转义一次即可。 第一次写,小激动啊,不足之处望多多指教!
相关文章推荐
- 后台数据能刷新,前台页面显示不刷新问题
- 前台页面传到后台的中文数据出现乱码问题
- 关于使用System.out.println()向控制台输出数据和使用out.println()向页面输出数据效率的问题
- ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式
- 大家很容易忽视的几个问题,1.投简历请换位思考、2.前台页面设计比后台实现更值钱
- 前台jquery向后台hibernate传数据时遇到的问题
- js_前台页面如何设置radio、checkbox、select三者的值以及绑定事件,方便后台接收数据
- freemark标签从后台接过来数据Boolean在前台还是Boolean输出(四)
- EF更新,数据库值变化,前台页面并不变化,刷新也不变化,重新运行程序则变化----开发中遇到的问题(已解决)
- django后台数据到前台后被强制转义
- ajax 提交数据到后台jsp页面及页面跳转问题
- SSM将后台获取的数据转换成json格式传递到前台页面
- 关于“Asp.net 中后台CS读取数据库数据生成数组传递给前台页面JS使用”
- 分享知识-快乐自己:SpringMvc后台Date对象数据 到 前台页面的显示转换
- 解决后台提交表单数据时,重复F5刷新页面出现重复提交数据的问题。
- 解决从JSP页面获取后台数据中文乱码问题?
- ssm框架后台未成功接受到前台form表单传入数据问题
- 关于系统首页绘制问题(ext布局+c#后台添加数据)经html输出流输出响应客户端
- 解决前台jsp页面提交中文数据以后,数据库中乱码问题??
- js从后台获取数据时,防止页面缓存问题,url后加时间戳