java - 如何从 angularjs 调用 Java Controller 类

标签 java angularjs

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

Controller 类是:

@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');
   }
})();

由于控制台中没有打印任何系统输出语句,因此该网址根本没有被触发。请帮忙

最佳答案

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

'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');
    }]);

})();

关于java - 如何从 angularjs 调用 Java Controller 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27921957/

相关文章:

java - 无法让旋转进度条工作

java - 使用Java在PostgreSQL上的Money数据

javascript - Angular ng-repeat不更新数组

angularjs - 使用 Protractor 的密码字段元素不可见错误

java - 为什么在 Java 8 中按顺序收集并行流

java - JList 从新列表中清除以前的条目

java - 可互换的键/值 HashMap Set 结构

angularjs - 带 Controller 的 AngularStrap 关闭模式

javascript - 无法从 Typescript 类中的 Angular Directive(指令)加载模板 (404)

javascript - AngularJS:在更改/输入/立即显示表单输入错误