VelocityServlet:
package org.liufei.velocity;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.context.Context;
import org.apache.velocity.servlet.VelocityServlet;
@SuppressWarnings("deprecation")
public class AddServletVelocity extends VelocityServlet {
private static final long serialVersionUID = -5343161778899944087L;
@Override
protected Template handleRequest(HttpServletRequest request, HttpServletResponse response, Context ctx) throws Exception {
Template template = null ;
try{
int a = 11 ;
int b = 22 ;
int c = a + b ;
ctx.put("a", new Integer(a)) ;
ctx.put("b", new Integer(b)) ;
ctx.put("c", new Integer(c)) ;
template = getTemplate("add.vm") ;
}catch (Exception e) {
System.out.println(e.getLocalizedMessage());
}
return template;
}
@Override
protected Properties loadConfiguration(ServletConfig servletConfig) throws IOException, FileNotFoundException {
Properties properties = new Properties() ;
String path = servletConfig.getServletContext().getRealPath("/") ;
if(path == null){
System.out.println("Error !");
path = "/" ;
}
properties.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path) ;
properties.setProperty("runtime.log", path + "velocity.log") ;
properties.setProperty(Velocity.ENCODING_DEFAULT, "UTF-8");
properties.setProperty(Velocity.INPUT_ENCODING, "UTF-8");
properties.setProperty(Velocity.OUTPUT_ENCODING, "UTF-8");
return properties ;
}
}
vm模板:
<html>
<head>
<title>Velocity Test</title>
</head>
<body>
<h1>Velcity Excemple</h1>
<p>$a + $b = $c</p>
</body>
</html>
web.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>add</servlet-name>
<servlet-class>org.liufei.velocity.AddServletVelocity</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>add</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>
<!--
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
-->
</web-app>
运行结果:
Velcity Excemple
11 + 22 = 33
分享到:
相关推荐
Velocity 模板引擎初体验 Velocity 是一种 Java 模板引擎技术,由 Apache 提出,是一种基于 Java 的模板引擎,允许任何人使用简单而强大的模板语言来引用定义在 Java 代码中的对象。Velocity 的主要功能是桥梁 ...
提供的《Velocity_java开发指南》和《Java的模板引擎Velocity初体验》两本书籍是学习Velocity的好资料。它们会详细介绍Velocity的使用方法、语法特性以及最佳实践,对于初学者来说非常有帮助。同时,Apache官网也有...
在实际项目中,`Java的模板引擎Velocity初体验.doc` 可能包含了初学者如何快速上手 Velocity 的步骤和常见问题。而 `Velocity2.ppt` 很可能是一个详细的 Velocity 进阶教程,涵盖了高级特性如宏、自定义工具类的使用...
**Struts 2初体验** Struts 2是一款强大的基于MVC(Model-View-Controller)设计模式的Java Web框架,它旨在简化企业级应用程序的开发。作为一个初学者,了解并掌握Struts 2的基本概念和操作流程是至关重要的。 **...
2. **资源管理**:如何有效地缓存资源,避免不必要的网络请求,以及使用 Service Worker 提升离线体验。 3. **性能预算**:如何设置并遵守性能预算,确保项目的性能不会随着功能的增加而退化。 4. **前端架构**:...
在安卓应用开发中,用户体验是至关重要的因素之一,而动态效果则是提升用户体验的重要手段。"加入购物车动画,抛物线"这个主题聚焦于安卓商城应用中的一个具体功能:商品被添加到购物车时的动画效果。这个动画通过...
在实际开发中,例如ACCP5.0技术讲座中提到的SSH初体验,开发者可以在Eclipse或MyEclipse这样的集成开发环境中,通过图形化工具快速搭建SSH框架。首先,创建一个Web工程,然后添加Spring框架,并配置相关数据源和...
21世纪初,伴随着互联网、移动互联网、物联网等技术的发展,数据的生产和传播速度飞速提升,催生了大数据时代的到来。 【大数据的特征】 大数据的主要特征包括三个V:Volume(大量)、Velocity(高速)、Variety...
WebWork是一个轻量级、基于MVC(Model-View-Controller)设计模式的框架,它在2000年代初非常流行,尤其在Java社区中。本书旨在帮助开发者理解和掌握WebWork框架的核心概念和技术,以便更高效地构建动态的、交互式的...
Confetti通常会向上飘扬然后缓慢下降,因此需要设置初速度向上的值,同时可以设置衰减使其速度逐渐降低。 4. Color Over Lifetime模块:定义粒子颜色随时间的变化。为了增加视觉吸引力,我们可以让Confetti在飞行...
3. **大数据应用**:大数据已广泛应用于各个领域,如金融分析预测市场趋势,医疗健康领域挖掘疾病模式,交通管理优化城市交通,以及广告推荐系统个性化用户体验等。 大数据的应用带来了新的机遇,如商业模式创新、...
大数据,作为一个在21世纪初崭露头角的概念,已经成为信息技术领域的核心话题。这一概念的出现,源于信息量的急剧增加以及处理这些海量信息需求的不断攀升。半个世纪以来,计算机技术的快速发展使得数据的生成和积累...
- 计算箭矢的初速度和方向,将其应用到箭矢的加速度(acceleration)或速度(velocity)属性上。 - 添加碰撞检测,当箭矢与敌人碰撞时,触发伤害计算。 5. **优化与细节** - 考虑到游戏体验,可能需要添加缓动...
"大数据"这一概念源于21世纪初,随着互联网、物联网、云计算等技术的快速发展,数据量呈现出爆炸性增长。大数据不仅是指数据的体积(Volume)庞大,还涉及到数据的种类(Variety)、速度(Velocity)和真实性...
抛物线是物理学中一个经典的运动轨迹,由物体在重力作用下的垂直下落和初速度决定。在游戏开发中,模拟抛物线运动通常用于物体投掷、射击或其他基于物理的交互。在UE4中,我们可以通过蓝图来构建这个复杂的运动模型...
大数据时代的到来源自于21世纪初信息量的急剧增长,2007年,人类产生的信息量超过了可用存储空间的总量,此后这一差距不断扩大。2010年,全球数字信息达到了ZB级别,2012年,淘宝网每日在线商品数量超过8亿件,而到...
大数据,这个概念自21世纪初以来逐渐崭露头角,如今已经成为科技发展的核心驱动力之一。大数据时代意味着我们生活的方方面面都受到了数据的影响,从个人健康到城市交通,再到全球政策制定,数据的采集、分析和应用...
2. **高速(Velocity)**:数据产生和变化的速度极快,要求实时或近实时处理。 3. **多样(Variety)**:数据来源广泛,类型多样,包括结构化、半结构化和非结构化数据。 4. **价值(Value)**:虽然数据密度相对较...
从21世纪初的概念萌芽,到2011年美国麦肯锡公司提出定义,再到Gartner进一步强调其在决策支持、洞察发现和流程优化中的重要性,大数据已经演变成一个涵盖了数据量大、增长速度快、类型多样和具有高价值信息资产的...