Я хочу сделать одностраничное приложение с моим Spring MVC Backend. Я только что узнал 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? Я имею в виду, я буду запрашивать страницу из Spring mvc. Он будет использовать шаблон "template/detail.jsp" с заданными атрибутами модели. Но я поместил эту страницу в область содержимого моего ng-приложения.
В настоящее время у меня проблемы в следующих областях:
- @RequestMapping (value = "{id}/rev/{rid}/detail", method = RequestMethod.GET) является параметрическим. Я не мог найти способ перенаправления маршрута.
- Я не знаю, как я должен повторно использовать свой "template/detail.jsp", чтобы он был помещен в div с именем ng-view.