当前位置: 首页 > ai >正文

关于“未结束的字符串常量”

今天在做项目时,总出现“未结束的字符串常量”错误,害我折腾了半天。事情是这样的:我在Action设了个数据 request.setAttribute("sendOkMsg", sendOkMsg);,想要在JavaScript中显示出来 alert("<%=(String)request.getAttribute("sendOkMsg")%>"),结果总出现前面说的这个错误。更另人纳闷的是,我这样做 <%System.out.println((String)request.getAttribute("sendOkMsg"));%> ,居然能在控制台正常打印出信息!
查阅了大量资料,终于真相大白,现列出来,和大家共享:
造成“未结束的字符串常量”错误的原因有好多种,下面列出三种:
1.JAVASCRIPT引用时,使用的字符语言不一致.
    比如:<script type=”text/javascript” src=”xxx.js” charset=”UTF-8″>.xxx.js文件内部使用的是GB2312的格式,外面调用使用的是UTF-8,所以文件内部部分特殊字符因为格式不一致,出现乱码,造成此原因.

2.JAVASCRIPT输出HTML字符时,前后标记不匹配.
    这种比较常见,往往在输出字符串时,出现单引号(’)或双引号(”)不配对,或者是在document.write()的时候,没有正确输出单引号(’)或双引号(”)

3.参数内出现HTML标记语言或包含换行符
    我今天所遇到的是这种情况.因为我所得到的数据以参数形式传给一函数,结果该数据里包含换行符,造成了此错误.如:一般测试时只使用单行的数据,是正常的,未出现这个错误,.当测试时使用多行数据,并使用回车链换行,就出行了此错误.因为里面包含了换行符
 
     对于第3种情况,我的解决方法是:
法一: 不直接将该数据以参数形式传递,而是先将其赋值在一个隐藏的文本内,需要调用的函数里只需读取该文本里的内容即可.
 
法二:传没有特殊符号的信息,到JS处解析拼组。


     本文转自NightWolves 51CTO博客,原文链接: http://blog.51cto.com/yangfei520/348278 ,如需转载请自行联系原作者
http://www.xdnf.cn/news/11567.html

相关文章:

  • Linux操作系统简介
  • 春晚宫女唐奕霖被爆背景深厚引热议
  • 关于Zblog和Wordpress的比较
  • wap网站制作教程
  • 【精选】常用信息收集方法
  • 最新手机号段归属地数据库 高性能dat解析
  • 盛名来电通 for android!——业界第一也是唯一一款不常驻内存的来电通软件!
  • 李凯强案
  • linux 网卡名称eth和ens前缀有什么意义和区别_网卡的名称ens
  • SHA1 简单介绍以及使用
  • 十分钟理解回归测试(Regression Testing)
  • HttpClient连接池原理
  • LVS负载均衡(LVS简介、三种工作模式、十种调度算法)
  • 哈利波特系列之伏地魔生平
  • 网络通信从入门到精通(万字吐血整理,持续更新!)
  • 数据结构和算法——二叉树
  • JPA与JDBC的区别,JPA详用的注解
  • 关于LDO,读懂这一篇就够了
  • 卡方检验(Chi-square test/Chi-Square Goodness-of-Fit Test)
  • 端口扫描(X-scan)
  • UART介绍
  • Spring AOP用法详解
  • 【ICO/WMF】PNG/JPEG转ICO/WMF工具
  • XSS从菜鸟到高手,你可能需要这些干货技巧
  • 如何获取当前时间?
  • 加密算法基础(1) -- 非对称加密算法之RSA
  • STP详解
  • 全网最详细的华为OD知识,值不值得去看这篇就够了!
  • 公网IP是什么(Public IP)
  • mac上Homebrew的安装与使用