Apache pločice Integracija s Spring MVC

1. Pregled

Apache Tiles je besplatni okvir za predloške otvorenog koda koji je isključivo izgrađen na uzorku kompozitnog dizajna.

Kompozitni dizajnerski uzorak vrsta je strukturnog uzorka koji komponira objekte u strukture stabla kako bi predstavljao hijerarhije cjelokupnih dijelova, a ovaj uzorak jednoliko tretira pojedinačne objekte i sastav objekata. Drugim riječima, u pločicama se stranica izrađuje sastavljanjem kompozicije podvida zvanih pločice.

Prednosti ovog okvira u odnosu na ostale okvire uključuju:

  • ponovna upotrebljivost
  • jednostavnost u konfiguraciji
  • režijski troškovi niskih performansi

U ovom ćemo se članku usredotočiti na integrirajući Apache pločice s Spring MVC.

2. Konfiguracija ovisnosti

Prvi korak ovdje je dodavanje potrebne ovisnosti u pom.xml:

 org.apache.tiles pločice-jsp 3.0.8 

3. Datoteke rasporeda pločica

Sada moramo definirati definicije predloška i posebno prema svakoj stranici prepisat ćemo definicije predloška za tu određenu stranicu:

4. ApplicationConfiguration i ostali razredi

Kao dio konfiguracije stvorit ćemo tri specifične Java klase pod nazivom ApplicationInitializer, ApplicationController i ApplicationConfiguration:

  • ApplicationInitializer inicijalizira i provjerava potrebnu konfiguraciju navedenu u ApplicationConfiguration razreda
  • ApplicationConfiguration klasa sadrži konfiguraciju za integraciju Spring MVC-a s okvirom Apache Tiles
  • ApplicationController razred radi sinkronizirano s pločice.xml datoteku i preusmjerava na potrebne stranice na temelju dolaznih zahtjeva

Pogledajmo svaki od razreda na djelu:

@Controller @RequestMapping ("/") javna klasa TilesController {@RequestMapping (value = {"/"}, method = RequestMethod.GET) public String homePage (ModelMap model) {return "home"; } @RequestMapping (value = {"/ apachetiles"}, method = RequestMethod.GET) javni String productsPage (model ModelMap) {return "apachetiles"; } @RequestMapping (value = {"/ springmvc"}, method = RequestMethod.GET) javni String contactUsPage (ModelMap model) {return "springmvc"; }}
javna klasa WebInitializer implementira WebApplicationInitializer {public void onStartup (spremnik ServletContext) baca ServletException {AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext (); ctx.register (TilesApplicationConfiguration.class); container.addListener (novi ContextLoaderListener (ctx)); ServletRegistration.Dynamic servlet = container.addServlet ("dispečer", novi DispatcherServlet (ctx)); servlet.setLoadOnStartup (1); servlet.addMapping ("/"); }}

Dvije su važne klase koje igraju ključnu ulogu u konfiguriranju pločica u Spring MVC aplikaciji. Oni su TilesConfigurer i TilesViewResolver:

  • TilesConfigurer pomaže u povezivanju Tiles okvira s Spring Springom pružanjem puta do datoteke s konfiguracijom pločica
  • TilesViewResolver je jedna od klase adaptora koju pruža Spring API za rješavanje prikaza pločica

Napokon, u ApplicationConfiguration razred, koristili smo TilesConfigurer i TilesViewResolver satovi za postizanje integracije:

@Configuration @EnableWebMvc @ComponentScan (basePackages = "com.baeldung.spring.controller.tiles") javna klasa TilesApplicationConfiguration implementira WebMvcConfigurer {@Bean public TilesConfigurer pločiceConfigurer =) tileConfigurer.setDefinitions (novi String [] {"/WEB-INF/views/**/tiles.xml"}); pločiceConfigurer.setCheckRefresh (istinito); vrati pločiceConfigurer; } @Override public void configureViewResolvers (Registar ViewResolverRegistry) {TilesViewResolver viewResolver = novi TilesViewResolver (); registry.viewResolver (viewResolver); } @Override public void addResourceHandlers (Registry ResourceHandlerRegistry) {registry.addResourceHandler ("/ static / **") .addResourceLocations ("/ static /"); }}

5. Datoteke predložaka pločica

Do sada smo završili konfiguraciju okvira Apache Tiles i definiciju predloška i određenih pločica korištenih u cijeloj aplikaciji.

U ovom koraku moramo stvoriti određene datoteke predloška koje su definirane u pločice.xml.

Pronađite isječak izgleda koji se može koristiti kao osnova za izgradnju određenih stranica:

6. Zaključak

Ovim je zaključena integracija Spring MVC-a s Apache pločicama.

Potpunu implementaciju možete pronaći u sljedećem github projektu.