0

Sitemesh を使用して Spring MVC でサイトを開発しています。ここに例があります

テンプレート定義に含めることができるすべてのページ、メニュー、フッターで動的コンテンツが変更されます。しかし、問題が発生します。動的コンテンツの下のすべてのサイトには、DB からいくつかのニュースが読み込まれたニュース リストがあるはずです。@Controller を作成し、5 つの最新ニュースをロードしましたが、これをテンプレートに追加するにはどうすればよいですか? ニュース コントローラーを実装する必要があるリクエスト マッピングはどれですか?

4

1 に答える 1

1

Sitemeshがどのように機能するかはわかりませんが、インターセプターを使用してそのような問題を解決しました。

拡張するクラスを作成します:HandlerInterceptorAdapter

メソッドpostHandleをオーバーライドし、次のようにmodelAndViewオブジェクトにデータを入力します。

modelAndView.addObject("newslist",myNewsList);

したがって、すべてのビューに可変の$newslistが挿入されます。

mvc-congig.xmlでBeanを宣言することを忘れないでください:

<bean id="newsListInterceptor" class="mypackage.NewsListInterceptor"/>

インターセプターはリクエストごとに実行されるため、ehcacheを使用して結果を保存し、データベースでの選択中に各呼び出しを回避します。

于 2013-03-20T16:32:00.207 に答える