在寫jsp的時候使用的一段代碼一直調試,出現Unexpected token ; 錯誤.
所以最后把代碼各種精簡,得到了如下的測試示例代碼
<% String aaa="123"; String bbb=""; %> <script type="text/javascript"> var a1 = <%=aaa%> var a2 = "<%=aaa%>" var a3 = <%=aaa%>; var a4 = "<%=aaa%>"; var a5 = '<%=aaa%>' var a6 = '<%=aaa%>'; var b1 = <%=bbb%> var b2 = "<%=bbb%>" var b3 = <%=bbb%>; var b4 = "<%=bbb%>"; </script>
其中a1 到 a6各種沒有問題(因為aaa的內容不是空啊),
但是當bbb字符串為空的時候
<script type="text/javascript"> var b1 = <%=bbb%> </script>
單獨b1或者b2 的時候 出現錯誤:
Unexpected end of input
單獨b3的時候出現錯誤:
Unexpected token ;
注意:token后面的空格和分號
b1和b4一起的時候出現
Unexpected token var
所以在Java轉Js的字符串轉換中,字符串變量賦值最好用如下的:
var b4 = "<%=bbb%>";
這樣就保證了即使bbb字符串為空的時候也不會出現Unexpected的上述3個問題了.
