package com.meijia.db;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.util.Properties;
import java.util.Vector;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.velocity.Template;
import org.apache.velocity.context.Context;
import org.apache.velocity.servlet.VelocityServlet;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.exception.ParseErrorException;
public class SampleServlet extends VelocityServlet {
protected Properties loadConfiguration(ServletConfig config)throws IOException, FileNotFoundException{
/*
* 得到属性配置文件并load它
*/
String propsFile = config.getInitParameter(INIT_PROPS_KEY);
Properties p = new Properties();
if (propsFile != null){
String realPath = getServletContext().getRealPath(propsFile);
if (realPath != null){
propsFile = realPath;
}
p.load(new FileInputStream(propsFile));
}
/*
* 设置velocity日志文件在web应用中的位置
*/
String log = p.getProperty(Velocity.RUNTIME_LOG);
if (log != null){
log = getServletContext().getRealPath(log);
if (log != null) {
p.setProperty(Velocity.RUNTIME_LOG, log);
}
}
/*
* 设置模板文件在web应用中的位置
*/
String path = p.getProperty(Velocity.FILE_RESOURCE_LOADER_PATH);
if (path != null){
path = getServletContext().getRealPath(path);
if (path != null){
p.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path);
}
}
return p;
}
public Template handleRequest(HttpServletRequest request,HttpServletResponse response,Context ctx){
String p1 = "Bob";
String p2 = "Harold";
Vector personList = new Vector();
personList.addElement(p1);
personList.addElement(p2);
/*
* 将模板数据 list 放置到上下文环境 context 中去
*/
ctx.put("theList", personList);
/*
* 获取模板对象,有三种可能产生的异常
*/
Template outty = null;
try{
outty = getTemplate("sample.vm");
} catch (ParseErrorException pee){
System.out.println(
"SampleServlet : parse error for template " + pee);
}catch (ResourceNotFoundException rnfe){
System.out.println("SampleServlet : template not found " + rnfe);
}catch (Exception e){
System.out.println("Error " + e);
}
return outty;
}
}
Velocity 源码例子
4星 · 超过85%的资源 需积分: 9 143 浏览量
2008-07-28
16:08:20
上传
评论
收藏 962KB RAR 举报
zhoushuyan
- 粉丝: 78
- 资源: 49
最新资源
- web学习笔记.doc
- 基于pytorch+Unet进行MRI肝脏图像分割源码+数据集+模型.zip
- 在Android Studio中开发一个Android App项目步骤
- 基于yolov8实现进行物体跟踪源码.zip
- Java多线程学习Java多线程学习Java多线程学习Java多线程学习.txt
- 算法数据结构-动态规划算法(Dynamic Programming)超详细总结加应用案例讲解.txt
- 2024最强秋招八股文(精简、纯手打)2024最强秋招八股文(精简、纯手打).txt
- 基于tensorflow多特征融合的微表情识别python源码.zip
- 基于yolov8实现人脸检测的python源码+运行说明.zip
- Micron Memory DDR3 SDRAM 全系列AD集成库(原理图库+PCB封装库).IntLib
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论1