SpringMvc之集成Velocity

本文详细介绍如何在SpringMVC项目中整合Velocity模板引擎,包括引入依赖、配置模板路径、编码方式、视图解析器参数及控制器代码示例,最后展示访问效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,张三

转载于:https://www.cnblogs.com/zengnansheng/p/10385950.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值