<%@ page contentType="text/html; charset=UTF-8"%>
<%@page import="java.util.*"%>
<script type="text/javascript">
<%
String s1 = "11,22";
String s2 = "aa,bb";
List strList = new ArrayList();
for(int i=0; i<3; i++) {
strList.add(i, "字符串list" + i);
}
List numList = new ArrayList();
for(int i=0; i<3; i++) {
numList.add(i, i);
}
String[] strArray = new String[3];
for(int i=0; i<strArray.length; i++) {
strArray[i] = "字符串数组" + i;
}
int[] numArray = new int[3];
for(int i=0; i<numArray.length; i++) {
numArray[i] = i;
}
request.setAttribute("attr1", "11,22");
request.setAttribute("attr2", "aa,bb");
%>
///var numString = <%=s1%>; //会报"缺少标识符";因为这句相当于 "var numString = 11,22;"
alert("java字符串变量\"11,22\"(逗号分隔的数字组成) 不加引号: " + <%=s1%>); //尽管这里可以将不加引号的java变量值alert出来,但其无法赋给一个var变量;原因见最后
alert("java字符串变量\"11,22\"(逗号分隔的数字组成) 加引号: " + "<%=s1%>");
//var strString = <%=s2%>;//报 "aa"未定义; 因为这句相当于"var strString = aa,bb;"
//alert("java字符串变量\"aa,bb\"(逗号分隔的字符串组成) 不加引号: " + <%=s2%>);//因为s2为由逗号分隔的字符组成的串;不加引号会报”"aa"未定义“
alert("java字符串变量\"aa,bb\"(逗号分隔的字符串组成) 加引号: " + "<%=s2%>");
var strList = "<%=strList%>"; //必须加引号;否则报 "字符串list0"未定义
alert("java List 变量(存放字符串): " + strList);
var numList = <%=numList%>; //因为numList中存放的为数字;故这里的引号加不加都可!
alert("java List 变量(存放数字): " + numList);
var strArray = new Array();
<% for(int i=0;i< strArray.length; i++) {%>
strArray[<%=i%>] = "<%=strArray[i]%>"; //必须为 <%=strArray[i]%> 加引号;否则报 "字符串数组0"未定义
<%}%>
alert("java 数组 变量(存放字符串): " + strArray);
var numArray = new Array();
<% for(int i=0;i< numArray.length; i++) {%>
numArray[<%=i%>] = <%=numArray[i]%>; //这里的<%=numArray[i]%>为数字,引号加不加都可以!!!
<%}%>
alert("java 数组 变量(存放数字): " + numArray);
alert("request attr1(\"11,22\")不加引号: " + <%=request.getAttribute("attr1")%>); //尽管这里可以将不加引号的java变量值alert出来,但其无法赋给一个var变量;原因见最后
alert("request attr1(\"11,22\")加引号: " + "<%=request.getAttribute("attr1")%>");
//alert("request attr2(\"aa,bb\")不加引号: " + <%=request.getAttribute("attr2")%>); //因为request attr2为字符组成的串;不加引号会报 "aa"未定义
alert("request attr2(\"aa,bb\")加引号: " + "<%=request.getAttribute("attr2")%>");
//var numString = 11,22; //报"缺少标识符";原因同上面的”var numString = <%=s1%>;“
//var strString = aa,bb; //报 "aa"未定义;原定同上面的”var strString = <%=s2%>;“;
alert("TEST " + 5,6);//只alert出5来,这可以解释为什么由数字+逗号的java变量虽然不可以赋给一个js的var变量,但是可以被alert出来。
</script>