我是AngularJS的新手,我试图弄清楚如何从我的SPRING控制器调用一个方法,还是有另一种方法来实现这个目标?
我的app.js看起来像这样:
// Define a module
var myApp = angular.module('createWorkshopApp', []);
// Create controller
myApp.controller('mainController',
function ($scope, $http) {
$scope.workshop = {};
$scope.createWorkshop = function () {
if ($scope.workshopName == "" || $scope.workshopDescription == "") {
alert("Insufficient Data! Please provide values for workshop name and description");
}
else {
$http({
method: 'POST',
url: '/create',
data: $scope.workshop
}).
success(function (data, status, headers, config) {
// Into database.. ??
alert('Workshop saved!');
}).
error(function (data, status, headers, config) {
if (status == 400) {
alert('404');
} else {
alert('Unexpected server error.');
}
});
}
};
});
我的WorkshopController.java看起来像这样:
> /**
> *
> * @param workshop
> * @param result
> * @return view of the workshop
> */
> @RequestMapping(value = "/workshop/create", method = RequestMethod.POST, headers = "Accept=application/json")
> public String addWorkshop(@Valid Workshop workshop, BindingResult result) throws ParseException {
> if (result.hasErrors()) {
> return BASE_URL + "create";
> } else {
> this.workshopService.addWorkshop(workshop);;
> return "redirect:" + BASE_URL + "view/" + workshop.getId();
> }
> }
我还有一个名为workShopService.java的java文件,看起来像这样
@Service
@Transactional
public class WorkshopService {
@Autowired
private WorkshopDAO workshopDAO;
public void addWorkshop(Workshop workshop) {
workshopDAO.addWorkshop(workshop);
}
public Workshop getWorkshop(int id) {
return workshopDAO.getWorkshop(id);
}
public List<Workshop> getWorkshops() {
return workshopDAO.getWorkshops();
}
}
我开始使用SPRING(MVC)和HIBERNATE,现在我对Controller的作用感到困惑,因为使用AngularJS你已经创建了一个控制器。
答案 0 :(得分:1)
在Spring中,您拥有业务逻辑。因此,它负责连接模型和视图,并用于在模型和视图中的类之间进行通信。这个模型是研讨会类,视图是json响应。
在角度应用程序中,您还有一个MVC模式。控制器具有相同的功能(连接模型和视图),但在这种情况下,视图是html,模型是研讨会javascript对象。