`
liufei.fir
  • 浏览: 687321 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

velocity初体验

阅读更多
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
分享到:
评论
1 楼 sunshineman 2011-03-10  
你应该去了解下velocity的merge还有macro载入机制

相关推荐

    Java的模板引擎Velocity初体验.pdf

    Velocity 模板引擎初体验 Velocity 是一种 Java 模板引擎技术,由 Apache 提出,是一种基于 Java 的模板引擎,允许任何人使用简单而强大的模板语言来引用定义在 Java 代码中的对象。Velocity 的主要功能是桥梁 ...

    JAVA的Velocity语法学习

    提供的《Velocity_java开发指南》和《Java的模板引擎Velocity初体验》两本书籍是学习Velocity的好资料。它们会详细介绍Velocity的使用方法、语法特性以及最佳实践,对于初学者来说非常有帮助。同时,Apache官网也有...

    Velocity 模版

    在实际项目中,`Java的模板引擎Velocity初体验.doc` 可能包含了初学者如何快速上手 Velocity 的步骤和常见问题。而 `Velocity2.ppt` 很可能是一个详细的 Velocity 进阶教程,涵盖了高级特性如宏、自定义工具类的使用...

    Struts 2初体验

    **Struts 2初体验** Struts 2是一款强大的基于MVC(Model-View-Controller)设计模式的Java Web框架,它旨在简化企业级应用程序的开发。作为一个初学者,了解并掌握Struts 2的基本概念和操作流程是至关重要的。 **...

    velocity:我在 Velocity EU 的演示项目

    2. **资源管理**:如何有效地缓存资源,避免不必要的网络请求,以及使用 Service Worker 提升离线体验。 3. **性能预算**:如何设置并遵守性能预算,确保项目的性能不会随着功能的增加而退化。 4. **前端架构**:...

    加入购物车动画,抛物线

    在安卓应用开发中,用户体验是至关重要的因素之一,而动态效果则是提升用户体验的重要手段。"加入购物车动画,抛物线"这个主题聚焦于安卓商城应用中的一个具体功能:商品被添加到购物车时的动画效果。这个动画通过...

    SSH相关整合的总要资料

    在实际开发中,例如ACCP5.0技术讲座中提到的SSH初体验,开发者可以在Eclipse或MyEclipse这样的集成开发环境中,通过图形化工具快速搭建SSH框架。首先,创建一个Web工程,然后添加Spring框架,并配置相关数据源和...

    大数据时代演讲PPT资源共享

    21世纪初,伴随着互联网、移动互联网、物联网等技术的发展,数据的生产和传播速度飞速提升,催生了大数据时代的到来。 【大数据的特征】 大数据的主要特征包括三个V:Volume(大量)、Velocity(高速)、Variety...

    webwork in actin(英文电子版)

    WebWork是一个轻量级、基于MVC(Model-View-Controller)设计模式的框架,它在2000年代初非常流行,尤其在Java社区中。本书旨在帮助开发者理解和掌握WebWork框架的核心概念和技术,以便更高效地构建动态的、交互式的...

    Confetti FX.rar

    Confetti通常会向上飘扬然后缓慢下降,因此需要设置初速度向上的值,同时可以设置衰减使其速度逐渐降低。 4. Color Over Lifetime模块:定义粒子颜色随时间的变化。为了增加视觉吸引力,我们可以让Confetti在飞行...

    大数据概念技术与应用.pptx

    3. **大数据应用**:大数据已广泛应用于各个领域,如金融分析预测市场趋势,医疗健康领域挖掘疾病模式,交通管理优化城市交通,以及广告推荐系统个性化用户体验等。 大数据的应用带来了新的机遇,如商业模式创新、...

    [详细完整版]大数据概述.doc

    大数据,作为一个在21世纪初崭露头角的概念,已经成为信息技术领域的核心话题。这一概念的出现,源于信息量的急剧增加以及处理这些海量信息需求的不断攀升。半个世纪以来,计算机技术的快速发展使得数据的生成和积累...

    【cocos creater】7.仿《弓箭传说》- 控制主角朝向敌人.rar

    - 计算箭矢的初速度和方向,将其应用到箭矢的加速度(acceleration)或速度(velocity)属性上。 - 添加碰撞检测,当箭矢与敌人碰撞时,触发伤害计算。 5. **优化与细节** - 考虑到游戏体验,可能需要添加缓动...

    大数据:深入浅出.pptx

    "大数据"这一概念源于21世纪初,随着互联网、物联网、云计算等技术的快速发展,数据量呈现出爆炸性增长。大数据不仅是指数据的体积(Volume)庞大,还涉及到数据的种类(Variety)、速度(Velocity)和真实性...

    Projectdemo.rar

    抛物线是物理学中一个经典的运动轨迹,由物体在重力作用下的垂直下落和初速度决定。在游戏开发中,模拟抛物线运动通常用于物体投掷、射击或其他基于物理的交互。在UE4中,我们可以通过蓝图来构建这个复杂的运动模型...

    浅谈大数据时代与统计.pdf

    大数据时代的到来源自于21世纪初信息量的急剧增长,2007年,人类产生的信息量超过了可用存储空间的总量,此后这一差距不断扩大。2010年,全球数字信息达到了ZB级别,2012年,淘宝网每日在线商品数量超过8亿件,而到...

    大数据时代应用领域机遇挑战专题讲座PPT.ppt

    大数据,这个概念自21世纪初以来逐渐崭露头角,如今已经成为科技发展的核心驱动力之一。大数据时代意味着我们生活的方方面面都受到了数据的影响,从个人健康到城市交通,再到全球政策制定,数据的采集、分析和应用...

    船舶智能制造的背景及内涵-大数据.pptx

    2. **高速(Velocity)**:数据产生和变化的速度极快,要求实时或近实时处理。 3. **多样(Variety)**:数据来源广泛,类型多样,包括结构化、半结构化和非结构化数据。 4. **价值(Value)**:虽然数据密度相对较...

    大数据(1).docx

    从21世纪初的概念萌芽,到2011年美国麦肯锡公司提出定义,再到Gartner进一步强调其在决策支持、洞察发现和流程优化中的重要性,大数据已经演变成一个涵盖了数据量大、增长速度快、类型多样和具有高价值信息资产的...

Global site tag (gtag.js) - Google Analytics