Spring MVC odwołanie do kilku kontrolerów

0

Cześć Wam.
Odnośnie tematu. Wiem, że to przeczy idei MVC, ale czy mogę odwołać się do danych jak np. poprzez użycie kilku beanów na stronie jak to jest w JSF?
O co mi chodzi? Potrzebuje stworzyć szablon strony tak by elementy (menu boczne, stopka itp) nie korzystały z tego samego kontrolera.
Może istnieje inne rozwiązanie? W ostateczności chyba wybiorę Struts2 do tego (może znacie coś lepszego?)
Nie chcę korzystać z pobierania danych poprzez usługi.

0

Kontroler do żądania może być tylko jeden, ale:

  • Model może składać się z kilku pomniejszych obiektów (Menu menu, MainContent content) etc.
  • Możesz wykorzystywać komponenty do tworzenia logiki, czyli każdy komponent obsługuje 1 część w modelu i tak masz np. (MenuBuilder, ...)

Wspólne komponenty, jak np. MenuBuilder możesz współdzielić.

Inną (chociaż moim zdaniem gorszą) opcją, jest dodanie stałych elementów do modelu poprzez interceptory. Tj, w kontrolerze ustawiasz kontent i inne zmienne elementy, a te które występują na każdej podstronie ładowane są przez interceptor. Model w tym wypadku pozostaje taki jak wyżej.

0

Nie bardzo rozumiem czemu i jaki sens miałoby takie rozwiązanie. Dlaczego to inne kontrolery mają być odpowiedzialne za kawałki widoku? o_O Kontroler zajmuje się tylko ładowaniem odpowiedniego Widoku, a logika która przysyła danego do tego widoku to warstwa Serwisów! Mam dziwne wrażenie że u ciebie logika siedzi w Kontrolerze i wyszły ci jakieś GodObjecty albo Mother-of-all-Controllers i stąd twój dziwny pomysł z rozbiciem między kilka kontrolerów... Idealnie kontroler miałby 2 linijki:

DataDTO data = service.getData();
return new ModelAndView("view", "data", data);

1 użytkowników online, w tym zalogowanych: 0, gości: 1