速度是一种Java模版引擎技术,MVC架构的一种实现,但它更多的是关注在模型和视图之间,作为它们的桥梁。服务端渲染,我们使用最多的就是用他来渲染HTML。下面我们看看他与弹簧引导的结合。
老样子,我们看下pom中定义的依赖
& lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-web & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-velocity & lt;/dependency>
spring-boot-starter-velocity中定义了速度模板需要的罐子。
看下配置类中的配置
包com.shuqi; 进口org.springframework.boot.autoconfigure.velocity.VelocityProperties; 进口org.springframework.boot.web.servlet.view.velocity.EmbeddedVelocityViewResolver; 进口org.springframework.context.annotation.Bean; 进口org.springframework.context.annotation.Configuration;/* * * * @author林洋 * @date 2017/5/9 */@ configuration 公开课WebConfig { @ bean 公共EmbeddedVelocityViewResolver velocityViewResolver (VelocityProperties属性){ EmbeddedVelocityViewResolver解析器=new EmbeddedVelocityViewResolver (); properties.applyToViewResolver(解析器); resolver.setRedirectHttp10Compatible(假); 返回解析器; } }
熟悉spring mvc的同学都应该知道ViewResolver,是告诉spring mvc怎样渲染这个视图,我们这边使用了VelocityViewResolver就是告诉spring mvc使用速度的语法来渲染页面。但是仅有这个还不行,我们还有些配置文件的配置
# SpringBoot静态资源的位置 spring.mvc.static-path-pattern=/* * spring.resources.static-locations=类路径:/web/静态类路径:/web/libs/,类路径://web/视图 # VELOCITY模板(VelocityAutoConfiguration) spring.velocity.charset=utf - 8 spring.velocity.properties.input.encoding=utf - 8 spring.velocity.properties.output.encoding=utf - 8 spring.velocity.resourceLoaderPath=类路径://web/视图 spring.velocity.suffix=. vm
里面配置了速度模板的后缀是。vm,编码统一使用utf - 8,视图的加载位置,静态资源的加载位置等。说白了,就是告诉spring mvc,我们的资源文件放到什么位置,然后才能取到,才能渲染。
配置搞定后,我们看下业务代码
包com.shuqi.controller; 进口org.springframework.stereotype.Controller; 进口org.springframework.web.bind.annotation.RequestMapping; 进口org.springframework.web.bind.annotation.RequestMethod; 进口org.springframework.web.servlet.ModelAndView; 进口java.util.HashMap; 进口java.util.Map; @ controller 公开课HelloController { @RequestMapping (value=" https://www.yisu.com/index ",方法=RequestMethod.GET) 公共ModelAndView指数(){ String> Map<字符串;地图=new HashMap<在(); 地图。把(“名字”,“罗”); 地图。把(“时代”,“26”); 返回新ModelAndView(“指数”,地图); } }
设置了姓名与年龄的值,设置了需要渲染文件的位置及名称。含义就是:用中映射的值,渲染指数这个文件。我们最后看一眼,指数这个文件的内容
& lt; html> & lt; body> & lt; h4>姓名:${名称}& lt;/h4> 年龄& lt; h4>年龄:$ {}& lt;/h4> & lt;/body> & lt;/html>
一段普通的HTML,只不过有姓名和年龄属性需要渲染。那么执行结果是什么?启动项目,输入http://localhost: 8080/索引,展示页面