Я хочу сделать одностраничное приложение с моей Spring MVC Backend. Я только что узнал Angular.js.Смешивание пружины MVC с Angular.JS
У меня есть левое меню, состоящее из двух ссылок.
Выполняется запрос к нижестоящему контроллеру. Этот контроллер делает перенаправление URL и перечисляет детали того, что заполнено данными данной модели.
@RequestMapping(value = "{id}/rev/{rid}/detail", method = RequestMethod.GET)
public String detail(@PathVariable("id") Project project, @PathVariable("rid") Rev rev, Model model, HttpSession session) {
User user = ((User) session.getAttribute(CSession.USER));
model.addAttribute("project", project);
model.addAttribute("rev", rev);
model.addAttribute("cont", revContBS.getRevCont(rev, user));
return "template/detail";
}
Другое делает ajax-вызов контроллеру, который возвращает JSON.
@RequestMapping(value = "file/{fid}", method = RequestMethod.GET)
public @ResponseBody String getFile(@PathVariable("fid") FV fv) {
return repBS.getVerCon(fv);
}
В настоящее время у меня есть украшение: заголовок, левое меню и основная область содержимого. Если я нажму на первую ссылку, она сделает полное обновление страницы (потому что это делает переадресацию страницы и шаблоны jsp) Если я нажму на вторую ссылку, она изменит только основную область содержимого.
Я хочу изменить поведение первой ссылки, потому что она должна изменить только область содержимого. Возможно ли с помощью Angular.JS + Spring MVC? Я имею в виду, я запрошу страницу из весеннего mvc. Он будет использовать шаблон «template/detail.jsp» с заданными атрибутами модели. Но я поместил эту страницу в область содержимого моего ng-приложения.
В настоящее время у меня есть проблемы в следующих областях:
- @RequestMapping (значение = "{ID}/об/{избавиться}/деталь", метод = RequestMethod.GET) является параметрическим. Я не мог найти способ переназначения маршрута.
- Я не знаю, как я должен повторно обслуживать свой «template/detail.jsp», чтобы он был помещен в div, называемый ng-view.
Как будет выглядеть структура проекта для этого примера? – burseaner