如何从angularjs调用Java控制器类

时间:2015-01-13 12:13:39

标签: java angularjs

我有一个web项目..没有服务调用,但有一个Java控制器,其中一个方法返回一个字符串..这需要在我的js文件中读取..我无法获取数据或点击映射到控制器类的url ..

控制器类是:

@Controller
@RequestMapping("/user")
public class UserController {    

    @GET        
    @RequestMapping(method = RequestMethod.GET, value = "/details")
    public @ResponseBody String getUserDetails(HttpServletRequest request) {
        System.out.println("1");
        UserInfoDTO userInfoDTO = new UserInfoDTO();

        userInfoDTO.setUserName("Akriti");
        userInfoDTO.setUserId("1111");
        String userString = new Gson().toJson(userInfoDTO);
        //return new ModelAndView("index.jsp", "userString", userString);
        System.out.println("user" + userString);
        return userString;
    }

我正在使用的js文件是:

'use strict';
(function () {
    /**
     * @ngdoc overview
     * @name User Module
     * @description Logged in User
     */
    var user = angular.module('sol.user', []);
    user.controller('sol.user.UserController', UserController);
    alert("Hi");
   // $state.go('home.user');
   function UserController($scope, $http){
       alert("Hello");
       $http({method: 'GET',
            url: '/user/details'})
            .success(function(data) {
                $scope.profiles = data;
            })
            .error(function(data) {
                  $scope.profiles = data;
                alert( "failure");
                alert( data);
            });
       $state.go('home.user');
   }
})();

由于没有系统输出语句在控制台中打印出来,因此根本没有触发网址。请帮助

1 个答案:

答案 0 :(得分:0)

您可以尝试以下代码并打开firebug网络面板(或等效的替代品)并检查您是否发现网络xhr呼叫转到网址?

'use strict';
(function () {
    /**
     * @ngdoc overview
     * @name User Module
     * @description Logged in User
     */
    var user = angular.module('sol.user', []).controller('UserController',['$scope',$http','$state',function(scope,http,state){
        alert("Hello");
       http({method: 'GET',
            url: '/user/details'})
            .success(function(data) {
                scope.profiles = data;
            })
            .error(function(data) {
                  scope.profiles = data;
                alert( "failure");
                alert( data);
            });
       state.go('home.user');
    }]);

})();