如何将变量值从java传递给javascript

时间:2017-07-24 11:00:43

标签: javascript java jsp

我是编码的初学者。我遇到了一个场景,将变量值从java类传递给javascript,并且需要在javascript中更新为高图表的值。

[java code: I need to pass this values of float variables from this java class to JS

这些值需要在JS中的下图中更新。

java scripts

请帮我编写这个场景。

3 个答案:

答案 0 :(得分:0)

在您的控制器类中,您可以将数据放入数组并发送到您的jsp:

request.setAttribute("mydata", mydataarray);

在您的Electricity.jsp中,您可以获得参数:

var jsvarlist=<%=request.getAttribute("mydata") %>;
  

注意:javascript不需要显式数据类型

在你的JS文件中,你可以传递你的函数列表,因为它是一个数组,你可以用这种方式获取数据:

jsvarlist[0] //first value etc.. 

如果你需要在你的jsp中导入这样的java类,你应该使用:

 <%@ page import ="yourpackage.yourclass" %>

最后将JS文件导入jsp并调用现在接受列表的函数:

<script type="text/javascript" src="yourfile.js"></script>
... call your function 

答案 1 :(得分:0)

也许你应该使用ajax来做到这一点。

 var series = this.series[0];
 $.get("YourServletName",function(data){
                        series.addPoint([data.x, data.y], true, true);
                    });
                 }, 1000);

在上面的代码中:the var series = this.series[0];是你的数组, $get方法是从servlet中检索数据的方法, series.addPoint([data.x, data.y], true, true);正在为系列添加每个点。 在你的servlet中所有这些之前,你必须有这样的东西:

JsonObjectBuilder j = Json.createObjectBuilder();
        //Create code for your getting what you want and set this result to "y".

        j.add("x", System.currentTimeMillis());
        j.add("y", YourResult);
        out.println(j.build());

答案 2 :(得分:0)

$.ajax({
  url: "YourSeveletPathName",
  type: 'GET',
  success: function(response) {
    //console.log(response);
    //map your data here -  to  series parameter in your highchart method.
  },
  error: function(error) {
    errorFunction(error, parameter);
  }
});