1 搭建好SpringMvc环境,此处省略
2 项目引入velocity-1.7.jar,velocity-1.7-dep.jar和velocity-tools-2.0.jar
3 在根目录下新增一个myvms文件夹,并增加一个first.vm文件
<html> <head> <title></title> </head> <body> <b>hello,$username</b> <body> </html>
4 修改springmvc配置文件,增加下面代码
<!-- 配置Velocity --> <bean id="velocityConfigurer" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"> <property name="resourceLoaderPath" value="/myvms" /><!-- 设置模板位置--> <property name="velocityProperties"> <props> <prop key="directive.foreach.counter.name">loopCounter</prop> <prop key="directive.foreach.counter.initial.value">0</prop> <prop key="input.encoding">UTF-8</prop><!-- 指定模板引擎进行模板处理的编码 --> <prop key="output.encoding">UTF-8</prop><!-- 指定输出流的编码 --> </props> </property> </bean> <!-- 配置Velocity视图解析器 --> <bean id="ViewResolverVelocity" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver"> <property name="cache" value="true" /> <property name="suffix" value=".vm" /><!-- 视图文件的后缀名 --> <property name="dateToolAttribute" value="date" /><!--日期函数名称--> <property name="numberToolAttribute" value="number" /><!--数字函数名称--> <property name="contentType" value="text/html;charset=UTF-8" /> <property name="exposeSpringMacroHelpers" value="true" /><!--是否使用spring对宏定义的支持--> <property name="exposeRequestAttributes" value="true" /><!--是否开放request属性--> <property name="requestContextAttribute" value="rc"/><!--request属性引用名称--> <property name="order" value="0"/> <!-- 设置order属性 设置优先找jsp还是vm文件!!! --> </bean>
5 控制器代码
@RequestMapping(value = "/test") public ModelAndView test(HttpServletRequest req, HttpServletResponse resp) throws FileNotFoundException, WriterException, IOException { ModelAndView view = new ModelAndView("/first"); view.addObject("username", "张三"); return view; }
6 启动项目访问控制器 即可看到输出了hello,张三