• tomcat下部署Velocity模板(转贴)


    附件
    velocity-1.5.jar(382.9 K)
    附件
    velocity-dep-1.5.jar(682.2 K)
     
    切换到幻灯片模式

    首先创建一个vtl项目,在项目下生成一个servlet

    testVtl.java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    package com.cl.vtl;
                import java.io.IOException;
                import java.util.Properties;
                import javax.servlet.ServletException;
                import javax.servlet.http.HttpServlet;
                import javax.servlet.http.HttpServletRequest;
                import javax.servlet.http.HttpServletResponse;
                import org.apache.velocity.Template;
                import org.apache.velocity.VelocityContext;
                import org.apache.velocity.app.Velocity;
                import java.io.BufferedWriter;
                import java.io.OutputStreamWriter;
                /**
                * @version 	1.0
                * @author
                */
                public class testVtl extends HttpServlet {
                 
                /**
                * @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
                */
                public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
                try{
                Properties props = new Properties();
                props.setProperty(Velocity.INPUT_ENCODING, "GBK");
                props.setProperty(Velocity.OUTPUT_ENCODING, "GBK");
                props.setProperty(Velocity.RESOURCE_LOADER, "file");
                props.setProperty("file.resource.loader.description",
                " Velocity File Resource Loader");
                props.setProperty("file.resource.loader.class",
                "org.apache.velocity.runtime.resource.loader.FileResourceLoader");
                props.setProperty("file.resource.loader.path", "D:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/vtl");
                props.setProperty("file.resource.loader.cache", "true");
                props.setProperty("file.resource.loader.modificationCheckInterval", "1");
                props.setProperty("directive.foreach.counter.name", "velocityCount");
                props.setProperty("directive.foreach.counter.initial.value", "1");
                Velocity.init(props);//初始化模板设置
                //Velocity.init("velocity.properties");
                Template template = Velocity.getTemplate("/tm/index.vm", "GBK");//调用模板文件
                VelocityContext context = new VelocityContext();//建立上下文链接
                context.put("s", new String [] { "redwood", "maple", "oak", "pine" });
                BufferedWriter writer = writer = new BufferedWriter(new OutputStreamWriter(response.getOutputStream(),"GBK"));
                if ( context != null)
                template.merge(context, writer);//输出
                writer.flush();
                writer.close();
                }catch(Exception ex){ex.printStackTrace();}
                 
                }
                 
                /**
                * @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
                */
                public void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException{
                this.doGet(req,resp) ;
                 
                }
                 
                }
                


    web.xml:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?xml version="1.0" encoding="ISO-8859-1"?>
                 
                <!DOCTYPE web-app
                PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
                "http://java.sun.com/dtd/web-app_2_3.dtd">
                 
                <web-app>
                <display-name>Welcome to Tomcat</display-name>
                <description>
                Welcome to Tomcat
                </description>
                 
                 
                <!-- JSPC servlet mappings start -->
                 
                <servlet>
                <servlet-name>org.apache.jsp.index_jsp</servlet-name>
                <servlet-class>org.apache.jsp.index_jsp</servlet-class>
                </servlet>
                 
                <servlet-mapping>
                <servlet-name>org.apache.jsp.index_jsp</servlet-name>
                <url-pattern>/index.jsp</url-pattern>
                </servlet-mapping>
                 
                <servlet>
                <servlet-name>testVtl</servlet-name>
                <servlet-class>com.cl.vtl.testVtl</servlet-class>
                </servlet>
                 
                <servlet-mapping>
                <servlet-name>testVtl</servlet-name>
                <url-pattern>/index</url-pattern>
                </servlet-mapping>
                <!-- JSPC servlet mappings end -->
                 
                </web-app>
                


    /*在D:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/vtl下建立tm文件夹
    tm文件夹下存放模板文件*/
    建立模板文件index.vm
    index.vm:
    1
    2
    3
    4
    5
    6
    7
    <table border=1>
                #foreach($n in $s)
                <tr><td>
                $n is a big tree!
                </td></tr>
                #end
                </table>
                


    **注:将附件的两个jar包放到项目的lib文件夹下
  • 相关阅读:
    推荐下自己的开源框架:DataMapFramework
    真的能无师自通吗?JAVA学习指导系列
    再回首,工作的第一个十年
    2个DataSet中的数据传递问题,请高手们多多指教。
    数据结构小结
    CDQZ_Training 2012524 词编码
    PowerDesigner显示Comment注释
    DDD基本元素
    使用FluorineFx.NET更新FMS中的SharedObject
    如何取消页面缓存
  • 原文地址:https://www.cnblogs.com/chinatefl/p/1301042.html
Copyright © 2020-2023  润新知