0

私は通常、コントローラーを使用して jsp requestScopes にオブジェクトを追加します。

たとえば、「localhost/products/viewall」にカテゴリを一覧表示する必要がある場合、次のようなものを追加して ProductsController を変更するだけです。

@RequestMapping("/products/viewall")
public void viewCategories(Model model) {
    List<Category> categories = service.findAllCategories();
    model.addAttribute("categories", categories);
}

したがって、このメソッドは私の requestScope にカテゴリのリストを追加します。

同じことを行う必要がありますが、Web サイトのすべてのページに対して (必要な変数がサイトのレイアウトで使用されるため)。

SpringですべてのページのrequestScopesに何かを追加するにはどうすればよいですか?

4

1 に答える 1

2

これには、少なくとも 2 つの選択肢があると思います。

  • MVC インターセプターの使用。インターセプターを使用すると、すべてのリクエストに対して共通の操作を実行できます。HandlerInterceptorAdapterを拡張し、共通のモデル データを追加できます。postHandle

  • @ModelAttributeコントローラー内でアノテーションを使用する。これを使用して、コントローラー内のすべてのリクエスト マッピングに共通のデータを追加できます。モデルデータをすべてのコントローラーに提供する場合は、 @ControllerAdvice (注釈付きメソッドを内部に含む) を使用することもできます。メソッドで @ModelAttribute を使用する@ModelAttributeセクションでは、これに関する追加情報を提供する必要があります。

于 2013-08-07T17:26:30.213 に答える