Spring MVC バックエンドでシングル ページ アプリケーションを作成したいと考えています。Angular.js を学習したばかりです。
2 つのリンクで構成される左側のメニューがあります。
以下のコントローラにリクエストを送信します。このコントローラーは、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";
}
もう 1 つは、JSON を返すコントローラーへの ajax 呼び出しを行います。
@RequestMapping(value = "file/{fid}", method = RequestMethod.GET)
public @ResponseBody String getFile(@PathVariable("fid") FV fv) {
return repBS.getVerCon(fv);
}
現在、ヘッダー、左メニュー、メイン コンテンツ エリアの装飾があります。最初のリンクをクリックすると、ページ全体が更新されます (ページ転送と JSP テンプレートを作成するため)。2 番目のリンクをクリックすると、メイン コンテンツ領域のみが変更されます。
コンテンツ領域のみを変更する必要があるため、最初のリンクの動作を変更したいと考えています。Angular.JS + Spring MVC で可能ですか? つまり、Spring MVC からページをリクエストします。指定されたモデル属性で「template/detail.jsp」をテンプレート化します。しかし、このページを ng-app のコンテンツ領域に配置します。
現在、次の分野で問題があります。
- @RequestMapping(value = "{id}/rev/{rid}/detail", method = RequestMethod.GET) はパラメトリックです。ルート転送をパラメトリックにする方法が見つかりませんでした。
- 「template/detail.jsp」を再提供して、ng-view という div に配置する方法がわかりません。