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:
-
http:
-
-
<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世纪初崭露头角的概念,已经成为信息技术领域的核心话题。这一概念的出现,源于信息量的急剧增加以及处理这些海量信息需求的不断攀升。半个世纪以来,计算机技术的快速发展使得数据的生成和积累...
大数据的概念起源于21世纪初,起初指的是超大规模的数据集合。随着技术的发展,麦肯锡和Gartner等机构给出了更为全面的定义,强调大数据不仅仅是量的问题,还包括处理能力和分析效率。 大数据的特征通常概括为“四...
- 计算箭矢的初速度和方向,将其应用到箭矢的加速度(acceleration)或速度(velocity)属性上。 - 添加碰撞检测,当箭矢与敌人碰撞时,触发伤害计算。 5. **优化与细节** - 考虑到游戏体验,可能需要添加缓动...
"大数据"这一概念源于21世纪初,随着互联网、物联网、云计算等技术的快速发展,数据量呈现出爆炸性增长。大数据不仅是指数据的体积(Volume)庞大,还涉及到数据的种类(Variety)、速度(Velocity)和真实性...
抛物线是物理学中一个经典的运动轨迹,由物体在重力作用下的垂直下落和初速度决定。在游戏开发中,模拟抛物线运动通常用于物体投掷、射击或其他基于物理的交互。在UE4中,我们可以通过蓝图来构建这个复杂的运动模型...
大数据时代的到来源自于21世纪初信息量的急剧增长,2007年,人类产生的信息量超过了可用存储空间的总量,此后这一差距不断扩大。2010年,全球数字信息达到了ZB级别,2012年,淘宝网每日在线商品数量超过8亿件,而到...
大数据,这个概念自21世纪初以来逐渐崭露头角,如今已经成为科技发展的核心驱动力之一。大数据时代意味着我们生活的方方面面都受到了数据的影响,从个人健康到城市交通,再到全球政策制定,数据的采集、分析和应用...
2. **高速(Velocity)**:数据产生和变化的速度极快,要求实时或近实时处理。 3. **多样(Variety)**:数据来源广泛,类型多样,包括结构化、半结构化和非结构化数据。 4. **价值(Value)**:虽然数据密度相对较...