數據加載中……
          velocity 例子
          最簡單的hello world 程序。
          基礎搭建:從網上下載velocity.zip,把lib下的.jar文件導入到工程中。另外還要導入velocity.jar 和velocity-dep.jar.
          hellosite.vm  放到工程的目錄底下。
          Hello $name! Welcome to $site world!
          HelloWorld.java
          package com;
          import java.io.StringWriter;
          import org.apache.velocity.Template;
          import org.apache.velocity.VelocityContext;
          import org.apache.velocity.app.VelocityEngine;
          public class HelloWorld {
              
          public static void main(String[] args) throws Exception {
                  
          /* first, get and initialize an engine */
                  VelocityEngine ve 
          = new VelocityEngine();
                  ve.init();
                  
          /* next, get the Template */
                  Template t 
          = ve.getTemplate("hellosite.vm");
                  
          /* create a context and add data */
                  VelocityContext context 
          = new VelocityContext();
                  context.put(
          "name""DingDangXiaoMa");
                  context.put(
          "site""http://www.sun.com");
                  
          /* now render the template into a StringWriter */
                  StringWriter writer 
          = new StringWriter();
                  t.merge(context, writer);
                  
          /* show the World */
                  System.out.println(writer.toString());
              }
          }
          直接運行這個程序,就可以輸入模板中的信息。
          2。web程序,servlet 調用vm顯示信息。
          hello.vm 放在webRoot/web/下。
          <html>
              
          <body >        
               #set($name
          ="Hello ! DingDang")
                  Hello, $name 
                  woowoo
              
          </body>
          </html>
          servlet 文件:
          public class SampleServlet 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(
          " SampleServlet.loadConfiguration() : unable to "
                                      
          + "get the current webapp root.  Using '/'. Please fix.");
                      path 
          = "/";
                  }
                  p.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path);
                  p.setProperty(
          "runtime.log", path + "velocity.log");
                  
          return p;
              }
              
          public Template handleRequest(HttpServletRequest request,
                      HttpServletResponse response, Context ctx) {
                  
          /**
                   * 我的一些測試輸出
                   
          */
                  System.out.println(
          "Hello  everyone");
                  System.out.println(
          "sfdsfsd");
                  System.out.println(ctx);
                  System.out.println(ctx.toString());
                  System.out.println(request.getContextPath());
                  Template template 
          = null;

                  
          try {
                      
          /**
                       * 主要代碼
                       
          */
                      Velocity.init();
                      
          /**
                       * 注意相對路徑
                       
          */
                      template 
          = Velocity.getTemplate("/web/hello.vm");
                      VelocityContext context 
          = new VelocityContext();
                      context.put(
          "name""wowowowowowo  hello   hello  hello");
                      
          // template = Velocity.getTemplate("/web/sample.html");
                  } catch (Exception e) {
                      e.printStackTrace();
                  }
                  
          return template;
              }
          }
          以上就是兩個最簡單的velocity的例子。 一個是java application 一個是java web程序。
          參考資料:
          http://www.javaresearch.org/article/38895.htm

          posted on 2008-04-15 15:01 叮當小馬 閱讀(4912) 評論(3)  編輯  收藏 所屬分類: Velocity

          評論

          # re: velocity 例子 2008-04-15 15:27 叮當小馬

          java application 還有一種寫法。
          public static void main(String[] args) throws Exception {

          Velocity.init();

          VelocityContext context = new VelocityContext();

          context.put("name", "yy");

          BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));

          Template template = Velocity.getTemplate("hello.vm");

          template.merge(context, writer);

          writer.flush();

          writer.close();

          }
            回復  更多評論    

          # re: velocity 例子 2011-07-08 11:17 uo;

          o09;i
            回復  更多評論    

          # re: velocity 例子 2011-07-08 11:17 uo;

          ukrkrkrkr
            回復  更多評論    

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 田阳县| 桃园市| 玉屏| 襄汾县| 汕尾市| 香河县| 梁山县| 且末县| 漾濞| 敖汉旗| 呼玛县| 颍上县| 浦东新区| 岳西县| 大洼县| 安西县| 镇远县| 鹤壁市| 青冈县| 秦安县| 南川市| 砀山县| 拉孜县| 宣城市| 马关县| 曲阳县| 东安县| 集贤县| 津市市| 民乐县| 双江| 瓦房店市| 砚山县| 吉隆县| 库尔勒市| 寿阳县| 郸城县| 栖霞市| 封丘县| 平和县| 馆陶县|