【发布时间】:2013-10-17 07:16:28
【问题描述】:
我需要将一个 java 变量传递给一个 javascript 函数。我的代码如下。想知道这是正确的方法吗?
因为第一次加载页面时我在这里遇到了一些问题,并且单击了按钮,所以chartData和类别为空。
我期待以下:
chartData = [{"name":"Anne","data":[1.0,0.0,4.0]},
{"name":"Billy","data":[5.0,7.0,10000.0]}]
categories = ["APPLES","BANANAS","ORANGES"]
public String doLoadChartDataAction () {
String _cat = "[{\"name\":\"Anne\",\"data\":[1.0,0.0,4.0]},{\"name\":\"Billy\",\"data\":[5.0,7.0,10000.0]}]";
String _data = "[\"APPLES\",\"BANANAS\",\"ORANGES\"]";
System.out.println("1.0 " + " _cat:" + _cat);
System.out.println("1.0 " + " _data:" + _data);
setCategories(_cat);
setChartData(_data);
return "";
}
<p:commandButton styleClass="commandButton" value="This" id="btnThis" action="#{pc_Test.doLoadChartDataAction}"
oncomplete="renderChart('container','line','Sample Chart','${pc_Test.chartData}', '${pc_Test.categories}');">
</p:commandButton>
【问题讨论】:
-
我认为当您加载页面时,您可以对服务器端进行ajax调用,然后服务器(java)返回您想要的数据;在您的 javascript 中,您可以使用数据进行处理。即java文件返回一个json对象和回调处理使用json对象..
-
@Robin 是正确的,你想要一个 java 的 json 对象然后在 javascript 中处理
-
@Robin 感谢您的 cmets。我设法用下面的修改代码解决了这个问题。 (:
-
@BholaVishwakarma 感谢您的 cmets。我设法用下面的修改代码解决了这个问题。 (:
标签: javascript jsf jsf-2 primefaces