Javaservlet/Jsp/CanvasJs将数据从Servlet获取到Jsp
您好,我是Webdevelopment和Java新手,提前感谢您的帮助 我试图将预定义的数据从servlet获取到jsp中的canvasjs图中 我使用Eclipse氧气和TomCat 8.5 简而言之,我的代码如下所示: java只是有变量实例化,所以我认为它不值得展示 jsp文件:Javaservlet/Jsp/CanvasJs将数据从Servlet获取到Jsp,java,jsp,servlets,canvasjs,Java,Jsp,Servlets,Canvasjs,您好,我是Webdevelopment和Java新手,提前感谢您的帮助 我试图将预定义的数据从servlet获取到jsp中的canvasjs图中 我使用Eclipse氧气和TomCat 8.5 简而言之,我的代码如下所示: java只是有变量实例化,所以我认为它不值得展示 jsp文件: <%@page import="saagnik.ChartValues"%> <%@page import="java.util.ArrayList"%> <%@page sessi
<%@page import="saagnik.ChartValues"%>
<%@page import="java.util.ArrayList"%>
<%@page session="true" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript"src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<script type="text/javascript">
window.onload = function() {
var datapoints=[];
var chart = new CanvasJS.Chart("chartContainer1",{
title:{
text: "Anzahl der Requests"
},
data: [{
type: "splineArea",
name: "Anzahl",
dataPoints: datapoints
}]
});
String test=(String)session.getAttribute("test1");
datapoints.push({x: new Date(2015, 03, 10), y: 10});
chart.render();
</script>
</header>
<body>
<div id="chartContainer1"></div>
</body>
</html>
还尝试了doGet中的请求,如:
ChartValues[] articles =
new ChartValues[] {new ChartValues(39500,1.5,0.5,"16/01/09/2019"), new ChartValues(49500,1.5,0.5,"17/01/09/2019")};
request.setAttribute("articles", articles);
RequestDispatcher dispatcher = request.getRequestDispatcher("CharttestCanvas3.jsp");
dispatcher.forward(request, response);
并在Jsp中与
ArrayList<ChartValues> chartvalue1 = (ArrayList<ChartValues>)request.getAttribute("chartdata");
ArrayList chartvalue1=(ArrayList)request.getAttribute(“chartdata”);
但是我得到了相同的结果。我的错误是认为脚本和scriptlet相似,并且在运行jsp文件时可以看到完成的图形。运行JSP时,该值为null。 我需要在脚本中使用Javascript,并从servlet运行该图以使其正常工作 将servlet从会话传输更改为请求 servlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Integer value=15;
request.setAttribute("value", value);
request.getRequestDispatcher("CharttestCanvas3.jsp").forward(request, response);
}
对于JSP,我将脚本和scriptlets结合起来使其工作
JSP:
window.onload=函数(){
.
.
.
var aa=+'';
数据点推送({x:newdate(2015,03,10),y:aa});
chart.render();
.
.
.
在scriptlet中,是来自reques的值。
Via scriptlet=value该值进入我的脚本,加号将变量确定为int
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Integer value=15;
request.setAttribute("value", value);
request.getRequestDispatcher("CharttestCanvas3.jsp").forward(request, response);
}
<%Integer value = (Integer)request.getAttribute("value");%>
<script type="text/javascript">
window.onload = function() {
.
.
.
var aa=+'<%=value%>';
datapoints.push({x: new Date(2015, 03, 10), y: aa});
chart.render();
.
.
.
</script>