veltestservlet.java

来自「Velocity的实例应用」· Java 代码 · 共 74 行

JAVA
74
字号
package com.ibm.dvworks.velocity;

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 VelTestServlet extends VelocityServlet
{
    protected Properties loadConfiguration(ServletConfig config )
        throws IOException, FileNotFoundException
    {
        Properties p = new Properties();

        String path = config.getServletContext().getRealPath("/");

        if (path == null)
        {
            System.out.println(" VelTestServlet.loadConfiguration() : unable to get servlet context root");
            path = "/";
        }

        p.setProperty( Velocity.FILE_RESOURCE_LOADER_PATH,  path );
        p.setProperty( "runtime.log", path + "velocity.log" );
        p.setProperty("velocimacro.library",  "vmacro.vm");

        return p;
    }




    public Template handleRequest( HttpServletRequest request,
	HttpServletResponse response, Context ctx )
    {        
      ctx.put(  "treeFarm", new String [] { "redwood", "maple", "oak", "pine" });
      ctx.put( "title", "A Tree Farm");
        ctx.put( "date", new java.util.Date());
        ctx.put("fmtr", 
        new org.apache.velocity.app.tools.VelocityFormatter(
                  ctx));
     
        Template tpl = null;
        
        try
        {
            tpl =  getTemplate("variables.vm");
        }
        catch( Exception ex )
        {
            System.out.println("VelTestServlet : error when get template");
            ex.printStackTrace();
        }
       
        return tpl;
    }
}




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?