Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javaservlet/Jsp/CanvasJs将数据从Servlet获取到Jsp_Java_Jsp_Servlets_Canvasjs - Fatal编程技术网

Javaservlet/Jsp/CanvasJs将数据从Servlet获取到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

您好,我是Webdevelopment和Java新手,提前感谢您的帮助

我试图将预定义的数据从servlet获取到jsp中的canvasjs图中

我使用Eclipse氧气和TomCat 8.5

简而言之,我的代码如下所示:

java只是有变量实例化,所以我认为它不值得展示

jsp文件:

<%@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>