java ----> js:
List的传递:直接赋值就行,如下:
-
var userIdList = "<%=archiveNameList%>"; //不加引号是错误的!
为js中var赋java变量值(同样适用于el表达式和struts2标签等)时,切记需要为赋值串加引号"":
如果java变量为纯数字类型的,可以不加,js可以将其识别为Number类型的;但任何时候都加上不失为一个好的习惯,可以让你不为莫名其妙的错误所困扰。
引用
<script type="text/javascript">
var ploIds = "<%=request.getAttribute("refreshStrParam")%>"; //写成var ploIds = <%=request.getAttribute("refreshStrParam")%> 是错误的!
alert(ploIds);
<% String s = "abc";%>
var s = "<%=s%>"; //写成 var s = <%=s%>;是错误的
alert(s);
alert("${param.name}"); //写成alert(${param.name})是错误的
</script>
数组的传递:不能像List那样直接赋值(如果直接将数组赋给var的话,得到的var值为"[Ljava.lang.String;@1fcc4f8")。可以这样做: - var archiveNameAll = new Array();
- <% for(int i=0;i< archiveNameArr.length; i++) {%>
- archiveNameAll[<%=i%>] = "<%=archiveNameArr[i]%>"; //因为这里的<%=i%>可转换为js中的Number类型,所以其外围加不加引号都可以!
- <%}%>