关于“未结束的字符串常量”
生活随笔
收集整理的這篇文章主要介紹了
关于“未结束的字符串常量”
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天在做項目時,總出現“未結束的字符串常量”錯誤,害我折騰了半天。事情是這樣的:我在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處解析拼組。
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處解析拼組。
轉載于:https://blog.51cto.com/yangfei520/348278
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的关于“未结束的字符串常量”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 五年五件事,助我踏上寻梦路-追梦五年
- 下一篇: 组信箱共享及挂载介绍