Gyors útmutató a tavaszi MVC sebességhez

1. Bemutatkozás

A Velocity az Apache Software Foundation sablonmotorja, amely normál szövegfájlokkal, SQL, XML, Java kódokkal és sok más típussal képes működni.

Ebben a cikkben a Velocity kihasználására fogunk összpontosítani egy tipikus tavaszi MVC webalkalmazással.

2. Maven-függőségek

Kezdjük a Velocity támogatás engedélyezésével - az alábbi függőségekkel:

 org.apache.velocity sebesség 1.7 org.apache.velocity speed-tools 2.0 

Mindkettő legújabb verziója megtalálható itt: sebesség és sebesség eszközök.

3. Konfiguráció

3.1. Web Config

Ha nem akarunk egy web.xml, konfiguráljuk webprojektünket a Java és az inicializáló segítségével:

public class MainWebAppInitializer implementálja a WebApplicationInitializer {@Orride public void onStartup (ServletContext sc) dobja a ServletException {AnnotationConfigWebApplicationContext root = new AnnotationConfigWebApplicationContext (); root.register (WebConfig.class); sc.addListener (új ContextLoaderListener (root)); ServletRegistration.Dynamic appServlet = sc.addServlet ("mvc", új DispatcherServlet (új GenericWebApplicationContext ())); appServlet.setLoadOnStartup (1); }}

Alternatív megoldásként természetesen használhatjuk a hagyományosat is web.xml:

 Tavaszi MVC Velocity mvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/mvc-servlet.xml 1 mvc / * contextConfigLocation /WEB-INF/spring-context.xml org.springframework.ener.webtext 

Figyelje meg, hogy a servletet feltérképeztük a „/ *” ösvényen.

3.2. Tavaszi konfigur

Most nézzünk át egy egyszerű tavaszi konfigurációt - ismét a Java-val kezdve:

@Configuration @EnableWebMvc @ComponentScan (basePackages = {"com.baeldung.mvc.velocity.controller", "com.baeldung.mvc.velocity.service"}) nyilvános osztály WebConfig kiterjeszti a WebMvcConfigurerAdapter {@Override nyilvántartási nyilvántartó nyilvántartó érvénytelen addRes {register .addResourceHandler ("/ resources / **") .addResourceLocations ("/ resources /"); } @Orride public void configureDefaultServletHandling (DefaultServletHandlerConfigurer configurer) {configurer.enable (); } @Bean public ViewResolver viewResolver () {VelocityLayoutViewResolver bean = new VelocityLayoutViewResolver (); bean.setCache (true); bean.setPrefix ("/ WEB-INF / nézetek /"); bean.setLayoutUrl ("/ WEB-INF / layouts / layout.vm"); bean.setSuffix (". vm"); visszatérő bab; } @Bean public VelocityConfigurer velocityConfig () {VelocityConfigurer velocityConfigurer = new VelocityConfigurer (); velocityConfigurer.setResourceLoaderPath ("/"); visszatérési sebességConfigurer; }}

És nézzük meg gyorsan a konfiguráció XML változatát is:

     /         

Itt elmondjuk Springnek, hol keresse a feljegyzett babdefiníciókat:

Jelezzük, hogy annotáció-vezérelt konfigurációt fogunk használni a projektünkben a következő sorral:

LétrehozásávalsebességConfig”És„viewResolver”Babot mondunk VelocityConfigurer hol lehet sablonokat keresni, és VelocityLayoutViewResolver hol találhat nézeteket és elrendezéseket.

4. Sebességsablonok

Végül hozzuk létre sablonjainkat - kezdve egy közös fejléccel:

és lábléc:

 @Copyright baeldung.com 

És határozzunk meg egy közös elrendezést a webhelyünkhöz, ahol a fenti töredékeket fogjuk használni elemzés a következő kódban:

  Tavasz és sebesség #parse ("/ WEB-INF / fragments / header.vm") $ screen_content #parse ("/ WEB-INF / fragments / footer.vm") 

Ezt ellenőrizheti $ screen_content változó tartalmazza az oldalak tartalmát.

Végül létrehozunk egy sablont a fő tartalomhoz:

Oktatóanyagok listája

#foreach ($ tut in $ tutorials) # vége
Oktató azonosítóBemutató címeOktatóanyag leírásaOktatószerző
$ tut.tutId$ tut.title$ tut.leírás$ tut.author

5. Vezérlő oldala

Hoztunk létre egy egyszerű vezérlőt, amely az oktatóanyagok listáját adja vissza az elrendezésünk tartalmaként:

@Controller @RequestMapping ("/") public class MainController {@Autowired private ITutorialsService tutService; @RequestMapping (érték, módszer = RequestMethod.GET) public String defaultPage () {return "index"; } @RequestMapping (érték, módszer = RequestMethod.GET) public String listTutorialsPage (modell modell) {List list = tutService.listTutorials (); model.addAttribute ("oktatóanyagok", lista); return "index"; }} 

Végül helyi szinten elérhetjük ezt az egyszerű példát - például: localhost: 8080 / spring-mvc-velocity /

6. Következtetés

Ebben az egyszerű bemutatóban konfiguráltuk Tavaszi MVC webalkalmazás a Sebesség sablon motor.

Az oktatóanyag teljes mintakódja megtalálható a GitHub adattárunkban.


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