2014-10-29 66 views
1

我正在将我的应用程序重构为AngularJS。

在我当前的JSP页面上有Java代码直接发送到页面(不是通过AJAX)。我通常通过$ {myColl}引用它,它工作的很好。

现在用AngularJS,我试图直接进入我的控制器通过:

.controller("MyCtrl", function($scope, MyService) 
{ 
    $scope.myColl = ${myColl}; 
}) 

...但它不工作。不用重写我的后端以通过AJAX获取数据,我怎样才能将这些数据存入我的控制器?

任何提示,非常感谢。

谢谢。

+0

你就不能。你需要一个api调用,因为它运行客户端,而不像你的jsp – 2014-10-29 20:47:04

+0

@Apero - 不,你不需要 - 你可以在页面加载时在服务器信息中写入客户端,就像OP询问的那样。 – tymeJV 2014-10-29 20:47:45

+0

对于这个html页面也必须是一个服务器端模板,由一个运行在同一服务器上的jsp生成,然后 – 2014-10-29 20:49:56

回答

2

我通常使用ng-init函数在加载时将服务器数据写入客户端。例如:

<div ng-controller="MyCtrl" ng-init="init('${myColl}')"> 

</div> 

而且控制器

.controller("MyCtrl", function($scope, MyService) { 
    $scope.init = function(col) { 
     $scope.myColl = col; 
    } 
}); 
+0

这看起来不错,谢谢。一个简单的问题是:我只得到col对象的全限定路径,即com.company.path.ClassName而不是对象本身。我现在试图做到这一点:ng-init =“init('')”但仍然得到同样的结果。 – fumeng 2014-10-30 14:36:33

+0

不知道该怎么做.. ..我的驾驶室里有:\ – tymeJV 2014-10-30 14:40:33

+0

Np;非常感谢你的帮助。 – fumeng 2014-10-30 14:54:57

相关问题