Przejdź do treści
Strona główna » Spring w Akcji 2.5

Spring w Akcji 2.5

Spis treści | Spring w Akcji

  1. Projektowanie widoku

Projektowanie widoku

Po tym jak kontroler skończy swoją pracę, nadszedł czas na widok. Spring oferuje kilka świetnych opcji definiowania widoków, w tym JavaServer Pages (JSP), Thymeleaf, FreeMarker, Mustache oraz szablony oparte na Groovy. Na razie będziemy używać
Thymeleaf, czyli wybór, którego dokonaliśmy w rozdziale 1. podczas rozpoczynania projektu.

Aby używać Thymeleaf, musisz dodać kolejną zależność do swojego projektu build. Poniższy wpis używa startera Thymeleaf w Spring Boot, aby aby udostępnić Thymeleaf do renderowania widoku, który zamierzasz utworzyć:

Podczas uruchamiania, autokonfiguracja Spring Boot zobaczy, że Thymeleaf jest w ścieżce klamr i automatycznie utworzy fasolę, która obsługuje widoki Thymeleaf dla Spring MVC.
Biblioteki widoków, takie jak Thymeleaf, są zaprojektowane tak, aby były niezależne od konkretnego frameworka. Jako takie nie znają abstrakcji modelu Springa i nie są w stanie pracować z danymi, które kontroler umieszcza w Modelu. Mogą jednak pracować z atrybutami żądania serwletu. Dlatego też, zanim Spring przekaże żądanie do widoku, kopiuje dane modelu do atrybutów żądania, do których Thymeleaf i inne opcje szablonów widoku mają łatwy dostęp.
Szablony Thymeleaf to po prostu HTML z kilkoma dodatkowymi atrybutami elementów, które prowadzą szablon do renderowania danych żądania. Na przykład, jeśli istnieje atrybut żądania, którego kluczem jest „wiadomość”, i chcesz, aby był on renderowany w znaczniku HTML przez Thymeleaf, napisałbyś to w swoim szablonie Thymeleaf:

Kiedy szablon zostanie wyrenderowany do HTML, ciało elementu zostanie zastąpione wartością atrybutu żądania serwletu, którego kluczem jest „message”. Atrybut th:text jest atrybutem Thymeleaf-namespaced, który dokonuje zamiany. Operator ${} każe mu użyć wartości atrybutu żądania („message”, w tym przypadku). w tym przypadku).

Thymeleaf oferuje również inny atrybut, th:each, który iteruje po kolekcji elementów elementów, renderując HTML raz dla każdego elementu w kolekcji. To się przyda przyda się, gdy będziesz projektował swój widok, aby wypisać składniki taco z modelu. Na przykład, aby wyrenderować tylko listę składników „wrap”, możesz użyć następującego fragmentu HTML:

calculations

Pomocne linki

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *