Integrácia dlaždíc Apache s jarnými MVC

1. Prehľad

Apache Tiles je bezplatný šablónový rámec otvoreného zdroja založený čisto na kompozitnom dizajnovom vzore.

Kompozitný návrhový vzor je typ štrukturálneho vzoru, ktorý skladá objekty do stromových štruktúr, aby reprezentovali hierarchie jednotlivých častí, a tento vzor zaobchádza s jednotlivými objektmi a so zložením objektov jednotne. Inými slovami, v Dlaždiciach je stránka zostavená zostavením kompozície čiastkových zobrazení s názvom Dlaždice.

Výhody tohto rámca oproti iným rámcom zahŕňajú:

  • opätovná použiteľnosť
  • ľahká konfigurácia
  • nízky výkon réžie

V tomto článku sa zameriame na integrácia dlaždíc Apache s Spring MVC.

2. Konfigurácia závislostí

Prvým krokom je pridanie potrebnej závislosti do súboru pom.xml:

 org.apache.tiles dlaždice-jsp 3.0.8 

3. Súbory rozloženia dlaždíc

Teraz musíme definovať definície šablón a konkrétne na každej stránke prepíšeme definície šablón pre túto konkrétnu stránku:

4. ApplicationConfiguration a ďalšie triedy

V rámci konfigurácie vytvoríme tri špecifické triedy Java s názvom ApplicationInitializer, ApplicationController a ApplicationConfiguration:

  • ApplicationInitializer inicializuje a kontroluje potrebnú konfiguráciu uvedenú v ApplicationConfiguration triedy
  • ApplicationConfiguration trieda obsahuje konfiguráciu pre integráciu Spring MVC s rámcom Apache Tiles
  • ApplicationController trieda pracuje synchronizovane s dlaždice.xml súbor a presmerovanie na potrebné stránky založené na prichádzajúcich požiadavkách

Pozrime sa na každú z tried v akcii:

@Controller @RequestMapping ("/") verejná trieda TilesController {@RequestMapping (value = {"/"}, method = RequestMethod.GET) public String homePage (ModelMap model) {return "home"; } @RequestMapping (value = {"/ apachetiles"}, method = RequestMethod.GET) public String productsPage (ModelMap model) {return "apachetiles"; } @RequestMapping (value = {"/ springmvc"}, method = RequestMethod.GET) public String contactUsPage (ModelMap model) {return "springmvc"; }}
public class WebInitializer implementuje WebApplicationInitializer {public void onStartup (ServletContext container) hodí ServletException {AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext (); ctx.register (TilesApplicationConfiguration.class); container.addListener (nový ContextLoaderListener (ctx)); ServletRegistration.Dynamic servlet = container.addServlet ("dispečer", nový DispatcherServlet (ctx)); servlet.setLoadOnStartup (1); servlet.addMapping ("/"); }}

Existujú dve dôležité triedy, ktoré hrajú kľúčovú úlohu pri konfigurácii dlaždíc v jarnej aplikácii MVC. Oni sú TilesConfigurer a TilesViewResolver:

  • TilesConfigurer pomáha pri prepojení rámca Tiles s rámcom Spring tým, že poskytuje cestu k konfiguračnému súboru dlaždíc
  • TilesViewResolver je jednou z tried adaptérov poskytovaných Spring API na vyriešenie pohľadu na dlaždice

Nakoniec v ApplicationConfiguration triedy sme použili TilesConfigurer a TilesViewResolver triedy na dosiahnutie integrácie:

@Configuration @EnableWebMvc @ComponentScan (basePackages = "com.baeldung.spring.controller.tiles") verejná trieda TilesApplicationConfiguration implementuje WebMvcConfigurer {@Bean public TilesConfigurer dlaždiceConfigurer () {TilesConfigurer dlaždiceConfigurer = nový TilesConfigurer (nový) dlaždiceConfigurer.setDefinitions (nový reťazec [] {"/WEB-INF/views/**/tiles.xml"}); dlaždiceConfigurer.setCheckRefresh (true); vrátiť dlaždiceConfigurer; } @Override public void configureViewResolvers (register ViewResolverRegistry) {TilesViewResolver viewResolver = nový TilesViewResolver (); registry.viewResolver (viewResolver); } @Override public void addResourceHandlers (register ResourceHandlerRegistry) {registry.addResourceHandler ("/ static / **") .addResourceLocations ("/ static /"); }}

5. Súbory šablón dlaždíc

Doteraz sme dokončili konfiguráciu rámca Apache Tiles a definíciu šablóny a konkrétnych dlaždíc použitých v celej aplikácii.

V tomto kroku musíme vytvoriť konkrétne súbory šablón, ktoré boli definované v dlaždice.xml.

Nájdete úryvok rozložení, ktorý je možné použiť ako základ na vytvorenie konkrétnych stránok:

6. Záver

Týmto sa končí integrácia Spring MVC s dlaždicami Apache.

Kompletnú implementáciu nájdete v nasledujúcom projekte github.


$config[zx-auto] not found$config[zx-overlay] not found