我写了一个JSP页面:
<%
int var1 = 10;
int var2 = 20;
%>
<script>
function draw(){
var data = new google.visualization.DataTable();
data.addColumn('string', 'Category');
data.addColumn('number', 'Number');
data.addRows([
['cat1', <%= var1 %>], ['cat2', <%= var2 %>]]);
}
</script>
当我在javascript函数中使用这些变量时出现错误
var1无法解析为变量
var2无法解析为变量
答案 0 :(得分:0)
只需使用以下引用:
data.addRows([['cat1', "<%= var1 %>"], ['cat2', "<%= var2 %>"]]);
单引号也应该有效:
data.addRows([['cat1', '<%= var1 %>'], ['cat2', '<%= var2 %>']]);
答案 1 :(得分:0)
您的变量可以显示如下:
"<%=var1%>"
不鼓励使用Scriptlet。话虽如此,您可以使用像jstl这样的推荐方法。见下文:
<c:set name="var1" value="10" />
<c:set name="var2" value="20" />
分配它们:
var value1 = "${var1}";
var value2 = "${var2}";
在你的功能中使用它们:
data.addRows([['cat1', "${var1}"], ['cat2', "${var2}"]]);
以下链接中的文章讨论了JSTL与Scriplets的比较: