10,608
社区成员
发帖
与我相关
我的任务
分享
package org.shirdrn.velocity.servlet;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;
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.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.servlet.VelocityServlet;
import org.shirdrn.velocity.dao.PersonDao;
import org.shirdrn.velocity.service.PersonService;
public class ListPersonsServlet extends VelocityServlet {
protected Properties loadConfiguration(ServletConfig config)throws IOException, FileNotFoundException{
String propsFileName = config.getInitParameter(INIT_PROPS_KEY);
Properties props = new Properties();
if(propsFileName != null){
String realPath = getServletContext().getRealPath(propsFileName);
if(realPath != null){
propsFileName = realPath;
}
props.load(new FileInputStream(propsFileName));
}
String logFileName = props.getProperty(Velocity.RUNTIME_LOG);
if(logFileName != null){
String log = getServletContext().getRealPath(logFileName);
if(log != null){
props.setProperty(Velocity.RUNTIME_LOG,log);
}
}
String path = props.getProperty(Velocity.FILE_RESOURCE_LOADER_PATH);
if(path != null){
String realPath = getServletContext().getRealPath(path);
if(realPath != null){
props.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, realPath);
}
}
//System.out.println("props = "+props);
//props = {file.resource.loader.path=D:\Tomcat 5.5\webapps\VelocityServlet\templates, runtime.log=D:\Tomcat 5.5\webapps\VelocityServlet\log\velocity.log}
return props;
}
public Template handleRequest(HttpServletRequest request,HttpServletResponse response,Context ctx){
PersonDao personDao = new PersonService();
List personList = personDao.queryPersons("from Person");
ctx.put("personList", personList);
Template template = null;
try {
template = getTemplate("lists.vm","UTF-8");
} catch (ResourceNotFoundException e) {
e.printStackTrace();
} catch (ParseErrorException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return template;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>ListPersonsServlet</servlet-name>
<servlet-class>org.shirdrn.velocity.servlet.ListPersonsServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/classes/velocity.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ListPersonsServlet</servlet-name>
<url-pattern>/ListPersonsServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>