在写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个问题了.