我已经搜索过这个但找不到任何东西。 如果英文不正确,请更正我的问题。
这是我的代码: 编辑:代码在我的 .jsp 文件中!
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Beoordeling', 'Stage Opleider', 'Student'],
['1', '1', '4'],
<% ArrayList < Stelling > alleStellingenLijst2 = new ArrayList < Stelling > ();
alleStellingenLijst2 = (ArrayList < Stelling > ) request.getAttribute("stellingen");
for (Stelling s: alleStellingenLijst2) {
out.println("['1', '" + s.getDeStelling() + "' , '" + s.getDeWaarde() + "'],");
} %> ]);
var options = {
title: 'Laatste competenties',
hAxis: {
title: 'Score',
titleTextStyle: {
color: 'green'
}
},
vAxis: {
title: 'Beoordeling nummer',
titleTextStyle: {
color: 'green'
}
},
// Allow multiple simultaneous selections.
selectionMode: 'multiple',
colors: ['#BEF781', 'green']
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
出于某种原因,它不会执行 <% %> 之间的代码(来自 jsp)。
本页在线:http://project-omega.appspot.com/grafieken.jsp 谷歌应用引擎日志说错误在我页面的最后一行。这是一个空指针异常。
我不知道这是什么意思,我真的希望有人能帮助我。
非常感谢,对不起我的英语。
编辑 呈现的输出如下所示
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Beoordeling', 'Stage Opleider', 'Student'],
for (Stelling s : alleStellingenLijst2) {
out.println("['1', '" + s.getDeStelling() + "' , '" + s.getDeWaarde() + "'],");
}
]);
新代码:
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Beoordeling', 'Stage Opleider', 'Student'],
['1', 1, 4],
<%
ArrayList<Stelling> alleStellingenLijst2 =(ArrayList<Stelling>) getServletContext().getAttribute("stellingen");
for (Stelling s : alleStellingenLijst2) {
out.println("['1', " + s.getDeStelling() + " , " + s.getDeWaarde() + "],");
}
%>
['2', 2, 2]
]);
最佳答案
这些是 JSP 标记,您不能在 JavaScript 中使用它们!
这是因为JSP文件在编译时被编译成.java类,而JavaScript是在客户端执行的。
您可以做相反的事情 - 在 JSP 文件中生成一段 JavaScript 代码,这样您就可以将一些您想要的数据传递给 JS 变量。
关于java - 在javascript函数中使用jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19707809/