spring3.2+velocity 实例

本文介绍Velocity模板引擎的应用,包括配置步骤、代码实现及运行效果。Velocity是一种基于Java的模板引擎,支持通过简单的模板语言引用Java代码中的对象。

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

Velocity,名称字面翻译为:速度、速率、迅速,用在Web开发里.Velocity是一种Java模版引擎技术,该项目由Apache提出,由另外一种引擎技术Webmacro引深而来。那什么是官方的Velocity定义呢?Apache对它的定义是:一种基于Java的模板引擎,但允许任何人使用简单而强大的模板语言来引用定义在Java代码中的对象.

程序代码在附件压缩包中:boce-all-velocityweb.zip

1下载依赖包配置文件在附件中

2.设置layout-servlet.xml 文件
<bean id="velocityConfig"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/views/velocity/" />
<property name="configLocation" value="classpath:velocity.properties" /> <!-- velocity配置路径 -->

<!-- <property name="velocityProperties"> <props> <prop key="resource.loader">velocity.properties</prop>
<prop key="file.resource.loader.class"> org.apache.velocity.runtime.resource.loader.FileResourceLoader
</prop> <prop key="file.resource.loader.path">/WEB-INF/velocity</prop> <prop
key="file.resource.loader.cache">false</prop> </props> </property> -->
</bean>


<!-- View resolvers can also be configured with ResourceBundles or XML files.
If you need different view resolving based on Locale, you have to use the
resource bundle resolver. -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="cache" value="false" />
<property name="prefix" value="" />
<property name="suffix" value=".vm" />
<property name="contentType">
<value>text/html;charset=UTF-8</value>
</property>

<!-- 使用springMacro、使用servlet的对象 -->
<property name="exposeSpringMacroHelpers" value="true" />
<property name="exposeRequestAttributes" value="true" />
<property name="exposeSessionAttributes" value="true" />


<!-- spring的日期格式化 -->
<property name="dateToolAttribute" value="dateTool" />

<!-- velocity toolbox -->
<property name="toolboxConfigLocation" value="/WEB-INF/vmtools/toolbox.xml" />

</bean>


web.xml文件

<servlet>
<servlet-name>layout</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>layout</servlet-name>
<url-pattern>*.htm</url-pattern>
<url-pattern>*.do</url-pattern>
<url-pattern>*.json</url-pattern>
<url-pattern>*.html</url-pattern>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>


3.实现代码:
package boce.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping(value = "/demo")
public class DemoVelocity {
// Logger logger = LoggerFactory.getLogger(VelocityDemo.class);
@RequestMapping(value = "/welcome")
public String index(Model model) throws Exception {
model.addAttribute("name", "highkgao");

model.addAttribute("age", 20);

System.out.println(model.toString());

return "welcome";
}



@RequestMapping(value = "/test.do")
public String test(Model model) throws Exception {
model.addAttribute("name", "highkgao");
System.out.println(model.toString());
return "index";
}


@RequestMapping(value="/autoBind", method={RequestMethod.GET})
public String autoBindLogin(Model model){
model.addAttribute("accountmodel", new AccountModel());
return "login";
}


@RequestMapping(value="/autoBind2", method={RequestMethod.POST})
public String autoBindResult(Model model,AccountModel am){
model.addAttribute("accountmodel",am );
return "autoBindResult";
}

}


运行结果:
运行1

[img]http://dl2.iteye.com/upload/attachment/0124/8780/9dd31b93-6969-3bf4-afb5-5794cfb9a45e.png[/img]

运行2

[img]http://dl2.iteye.com/upload/attachment/0124/8782/812a6091-6ea0-3ea0-8703-f53cea423cf0.png[/img]

运行3

[img]http://dl2.iteye.com/upload/attachment/0124/8784/6cb4c875-f779-33f7-91ef-12e031a02b63.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值