【问题标题】:How to access JSON array of Java class in AngularJS Controller如何在 AngularJS 控制器中访问 Java 类的 JSON 数组
【发布时间】:2015-12-06 15:48:12
【问题描述】:

我的 java 代码中有 DTO(POJO) 数据列表。我正在将该数据列表转换为 JSON 数组。我想用该数据初始化我的 $scope.data variable AngularJS 控制器以在 UI 中显示。

我在 ProjectBean 类中的 java 代码

   JSONArray jsonArray = new JSONArray();
    for (int iterator = 0; iterator < dbProjectListSize; iterator++) {
        JSONObject responseDetailsJson = new JSONObject();            
        responseDetailsJson.put("name", tempChartProject.getText());
        responseDetailsJson.put("color", "#9FC5F8");
        responseDetailsJson.put("from", ChartProject.getStart_date());                                      
        jsonArray.add(responseDetailsJson);
        }

AngularJS 控制器

app.controller('Ctrl', ['$scope', function ($scope) {
      $scope.data =projectBean.jsonArray;
}]);

我想用 Project bean 类中的 Json 列表初始化 $scope.data 变量,以在 UI 中显示此数据。

请帮助我。

【问题讨论】:

  • 您好,您在客户端的数据保存在哪里?我在您的 java 方法中没有看到 jsonArray 的 response.write。您需要创建一个角度服务并公开一个方法来调用此 POJO 以检索 jsonArray。
  • @Saar 我正在研究 JSF 并且是 AngularJS 的新手。你能提供任何代码 sn-p 作为这个问题的答案吗?
  • @SubhakarPatnala - 您需要发出 httprequest 并将响应分配给您的范围变量

标签: javascript java json angularjs


【解决方案1】:

将服务与控制器一起使用并确保注入服务。

在 controller.js 中

controllersModule.controller('MyCtrl', function($scope, $filter, $http,  **FactoryYouwant**) 
    {

        **FactoryYouwant**.getdata().then (function(responseData){  
            $scope.ResponseFromServer =responseData;
    }

在 service.js 中

controllersModule.factory('**FactoryYouwant**, function($http) {
    var responseData = null;

    return {
        getdata : function(){           
            responseData = "$http.post "; //that gets you data;
            return responseData;
        }

      };
});

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2017-11-25
    • 2015-10-27
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 2017-05-10
    相关资源
    最近更新 更多