我正在尝试显示对象'数据作为ArrayList响应传递。我能够看到对象的内容,但无法在angularjs视图中使用它。 这是我的Spring控制器方法:
@RequestMapping(value = "/page2", method = RequestMethod.POST)
public @ResponseBody ArrayList<ConceptModelDetails> getAllTasks() {
ArrayList<ConceptModelDetails> list = new ArrayList<ConceptModelDetails>();
ApplicationContext context = new ClassPathXmlApplicationContext(
"Spring-module.xml");
JDBCConceptModelDAO objDAO = (JDBCConceptModelDAO) context
.getBean("objDAO");
list = objDAO.getData();
return list;
}
这是视图第2页
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script
src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.mi n.js"></script>
</head>
<body>
<form action="page2" method="post">
<h1>
Success: <input type="submit" value="See Data">
</h1>
</form>
<div ng-app="myApp" ng-controller="controller">
<table>
<tr ng-repeat="x in object">
<td>${ x.requestor }</td>
</tr>
</table>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('controller', function($scope, $http) {
$http.post("page2")
.success(function(response) {
$scope.object = response.records;
console.log(response);
});
});
</script>
点击查看数据后,我得到以下输出:
但我想在表格中显示数据。
答案 0 :(得分:1)
response
对象只是一个JavaScript对象数组。然后,您可以将其绑定到ngGrid组件以进行渲染。
在html中:
<body ng-controller="MyCtrl">
<div class="gridStyle" ng-grid="gridOptions">
</div>
</body>
在JavaScript中:
$scope.conceptModelDetailsList = response;
$scope.gridOptions = { data: 'conceptModelDetailsList' };
请注意,这只是一种方法。有许多不同的方式来呈现这样的列表。
答案 1 :(得分:1)
你在这里犯了一个根本性的错误。
请理解Spring MVC概念。这些教程将帮助您理解这一点。
在上面的代码public @ResponseBody ArrayList<ConceptModelDetails> getAllTasks(){...}
中,该方法返回ArrayList<ConceptModelDetails>
。由于存在JSON
,这会转换为@ResponseBody
。
现在你必须使用AJAX调用在AngularJS grid-ui中使用它。 在这里解释你的内容超出范围,请从中学习角度 W3School AngularJS Tutorial
熟悉Spring中的Spring MVC
和REST API
概念后,请查看Angular UI Grid以显示JSON数据。
如果您只想在视图中显示ArrayList
,请了解Model
以及如何在JSTL
中进行迭代。这在上面的春季教程中有解释。
这是一个漫长的过程,没有成为开发人员的捷径!
希望它有所帮助!