【发布时间】:2017-03-16 18:48:58
【问题描述】:
我在 Spring 4 和 Hibernate 5 中使用 AngularJS 制作 SPA。
在将 JSON 数组从 AngularJS 控制器传递到 Spring 控制器时出现错误。
所有字段值都成功传入 angular JSON 数组,但未传入 Spring 控制器。
错误:无法读取 JSON:;嵌套异常是 com.google.gson.JsonSyntaxException:
我的项目结构如下。
Spring_Hibernate_MVC =src -com->karmesh->mvcApp->controller->register->RegisterController.java =网页内容 -js->app->RegisterController.js -Views->Register.html
注册,html
<div id="DivRegisterMain" ng-controller="RegisterController">
<form name="myForm" novalidate>
:::://Form fields here.
<input type="submit" value="SubmitTest" ng-click="submit()" ><br>
</form>
</div>
app.js
var routeApp=angular.module("RouteApp",['ngRoute']);
RegisterController.js
routeApp.controller("RegisterController", function($scope, $http) {
$scope.regJson = {
"is" : 1,
"fname" : "",
"lname" : "",
"gender" : "",
"dob" : "",
"email" : "",
"contact" : "",
"yop" : "",
"degree" : "",
"branch" : "",
"perc" : "",
"state" : "",
"city" : ""
};
$scope.studentList = [];
$scope.submit = function() {
var req = {
method: 'POST',
url: 'http://localhost:8050/Spring_Hibernate_MVC/registerStudent.do',
data: $scope.studentList,
};
$http(req).
then(function(response){
console.log(response); // prints true or false
if (response)
console.log("in success");
else
console.log("in fail");
$scope.studentList=[];
}, function(response){
console.log(response.status);
console.log("in error");
});
};
RegisterController.java
@EnableWebMvc
@RestController
@RequestMapping("/")
public class RegisterController {
@Autowired
private RegisterService registerService;
public RegisterController() {
System.out.println(this.getClass().getSimpleName() + "created..");
}
@ResponseBody
@RequestMapping(value="/registerStudent.do", method = RequestMethod.POST)
public boolean registerStudent(@RequestBody List<RegisterDTO> stdList) {
System.out.println("inside controller..");
if (stdList != null) {
System.out.println("success...");
}
return registerService.isStudentExist(stdList);
}
}
【问题讨论】:
标签: java angularjs json spring-mvc