מדריך מהיר ל- MVC באביב במהירות

1. הקדמה

Velocity הוא מנוע תבניות של קרן Apache Software שיכול לעבוד עם קבצי טקסט רגילים, SQL, XML, קוד Java וסוגים רבים אחרים.

במאמר זה אנו נתמקד בשימוש במהירות עם יישום אינטרנט אופייני MVC.

2. תלות Maven

נתחיל בלהפעיל את תמיכת המהירות - עם התלות הבאה:

 org.apache.velocity velocity 1.7 org.apache.velocity velocity-tools 2.0 

הגרסאות החדשות ביותר של שתיהן ניתן למצוא כאן: מהירות וכלי מהירות.

3. תצורה

3.1. Web Config

אם אנחנו לא רוצים להשתמש ב- web.xml, בואו להגדיר את פרויקט האינטרנט שלנו באמצעות Java ו- Initialis:

מחלקה ציבורית MainWebAppInitializer מיישם את WebApplicationInitializer {@Override public void onStartup (ServletContext sc) זורק ServletException {AnnotationConfigWebApplicationContext root = new AnnotationConfigWebApplicationContext (); root.register (WebConfig.class); sc.addListener (ContextLoaderListener חדש (שורש)); ServletRegistration.Dynamic appServlet = sc.addServlet ("mvc", DispatcherServlet חדש (GenericWebApplicationContext חדש ())); appServlet.setLoadOnStartup (1); }}

לחלופין, אנו יכולים כמובן להשתמש במסורתי web.xml:

 Spring MVC Velocity mvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/mvc-servlet.xml 1 mvc / * contextConfigLocation /WEB-INF/spring-context.xml org.springframework.web.contextLoner.Context. 

שימו לב שמיפינו את סרוולט שלנו בדרך "/ *".

3.2. אביב קונפיג

בואו נעבור על תצורת אביב פשוטה - שוב, החל מ- Java:

@Configuration @EnableWebMvc @ComponentScan (basePackages = {"com.baeldung.mvc.velocity.controller", "com.baeldung.mvc.velocity.service"}) בכיתה ציבורית WebConfig מרחיב את WebMvcConfigurerAdapter {@Override Public void addResourceHandler {registry .addResourceHandler ("/ resources / **") .addResourceLocations ("/ resources /"); } @ Override public void configureDefaultServletHandling (DefaultServletHandlerConfigurer configurer) {configurer.enable (); } @ שעועית ציבורית ViewResolver viewResolver () {VelocityLayoutViewResolver שעועית = חדש VelocityLayoutViewResolver (); bean.setCache (נכון); bean.setPrefix ("/ WEB-INF / views /"); bean.setLayoutUrl ("/ WEB-INF / layouts / layout.vm"); bean.setSuffix (". vm"); שעועית להחזיר; } @Bean VelocityConfigurer הציבור velocityConfig () {VelocityConfigurer velocityConfigurer = חדש VelocityConfigurer (); velocityConfigurer.setResourceLoaderPath ("/"); להחזיר velocityConfigurer; }}

ובואו גם נסתכל במהירות על גרסת ה- XML ​​של התצורה:

     /         

כאן אנו מספרים לאביב היכן לחפש הגדרות שעועית מוערכות:

אנו מציינים כי אנו הולכים להשתמש בתצורה מונעת ביאורים בפרויקט שלנו עם השורה הבאה:

על ידי יצירת "velocityConfig"ו"viewResolverשעועית אנחנו מספרים VelocityConfigurer היכן לחפש תבניות, ו VelocityLayoutViewResolver היכן למצוא תצוגות ופריסות.

4. תבניות מהירות

לבסוף, בואו ניצור את התבניות שלנו - החל מכותרת נפוצה:

ותחתונה:

 @ זכויות יוצרים baeldung.com 

ובואו נגדיר פריסה משותפת לאתר שלנו בה נשתמש בשברים הנ"ל לְנַתֵחַ בקוד הבא:

  אביב ומהירות #parse ("/ WEB-INF / fragments / header.vm") $ screen_content #parse ("/ WEB-INF / fragments / footer.vm") 

אתה יכול לבדוק את זה $ screen_content משתנה מכיל את תוכן הדפים.

לבסוף, ניצור תבנית לתוכן הראשי:

רשימת הדרכות

#foreach ($ tut בהדרכות $) #סוֹף
מזהה הדרכהכותרת ההדרכהתיאור הדרכהמחבר הדרכה
$ tut.tutId$ tut.title$ tut. תיאור$ tut. מחבר

5. צד הבקר

יצרנו בקר פשוט המחזיר רשימת הדרכות כתוכן לפריסה שלנו שתאוכלס בה:

@Controller @RequestMapping ("/") מעמד ציבורי ראשי {@Autowired פרטי פרטי ITutorialsService tutService; @RequestMapping (value, method = RequestMethod.GET) ציבורי מחרוזת defaultPage () {להחזיר "אינדקס"; } @ RequestMapping (value, method = RequestMethod.GET) public String listTutorialsPage (Model Model) {List list = tutService.listTutorials (); model.addAttribute ("הדרכות", רשימה); להחזיר "אינדקס"; }} 

לבסוף, אנו יכולים לגשת לדוגמא פשוטה זו באופן מקומי - למשל ב: localhost: 8080 / spring-mvc-velocity /

6. מסקנה

במדריך פשוט זה, הגדרנו אביב MVC יישום אינטרנט עם מְהִירוּת מנוע תבנית.

את קוד הדוגמה המלא עבור הדרכה זו ניתן למצוא במאגר GitHub שלנו.


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