【问题标题】:passing java variable to javascript function将java变量传递给javascript函数
【发布时间】: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


【解决方案1】:
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);

RequestContext context = RequestContext.getCurrentInstance();
context.addCallbackParam("chartData", _data);
context.addCallbackParam("categories", _cat);

return "";      
}

<p:commandButton styleClass="commandButton" value="This" id="btnThis" action="#{pc_Test.doLoadChartDataAction}" 
oncomplete="renderChart('container','line','Sample Chart', args.chartData, args.categories);">   

【讨论】:

    猜你喜欢
    • 2015-07-23
    • 2016-08-21
    • 2015-05-02
    • 2017-04-30
    • 2018-12-14
    • 2014-10-31
    • 2020-09-02
    • 2018-10-21
    相关资源
    最近更新 更多