首页 > 解决方案 > 在春天,角度js中将值从控制器传递到视图

问题描述

这是控制器代码

@RequestMapping(value="doLogin")
    public ModelAndView doLogin(@ModelAttribute @Valid UserBean userBean,BindingResult result)
    {
        ModelAndView view = new ModelAndView("login");
        if(!result.hasFieldErrors())
        {

            if(!combatService.authenticateUser(userBean)) 
            {
                result.addError(new ObjectError("err", "Invalid Credentials"));

            } 
            else
                {
                 if(retrieveService.getdata(userBean) != null)
                 {
                     List<UserBean> username=retrieveService.getdata(userBean);
                     return new ModelAndView("welcomes", "usernames", username);    
                }   
                }
        }

        return view;
    }

这是角度js

<body ng-app="myApp" ng-controller="customersCtrl">
<div ng-init="usernames = ${usernames}">
<ul id="myUL">
 <li ng-repeat="x in usernames"><a href="#">{{x.username}}</a></li>
</ul>
</div>
<script>
  var app = angular.module('myApp', []);
  app.controller('customersCtrl', function($scope, $http) {
     $http({
            method: "GET",
            url: "http://localhost:8080/maven_project/toLogin.obj"
            })

     .then(function (response) {$scope.usernames = response.data.usernames;
     alert('success');},
function (error) {
alert('failed');
    });
  });
  </script>
</body>

这是错误

    angular.js:14800 Error: [$parse:ueoe] http://errors.angularjs.org/1.6.9/$parse/ueoe?p0=usernames%20%3D
 at q.consume (angular.js:15365)
    at q.primary (angular.js:15240)
    at q.unary (angular.js:15224)
 "<div class="md-form active-cyan active-cyan-2 mb-3" ng-init="usernames = ">"
    (anonymous) @ angular.js:14800

它将值从控制器传递到视图并执行成功,但没有显示任何记录。我尝试了很多很多。什么是问题 任何人都发现了错误

标签: javaangularjsspringjsp

解决方案


我认为你应该删除你的ng-init指令,这就是给出错误的原因,我不确定它应该做什么。

usernames像您目前所做的那样在 http 响应处理程序中进行初始化就足够了。

希望这可以帮助


推荐阅读