數據加載中……
          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
            回復  更多評論    

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


          網站導航:
           
          主站蜘蛛池模板: 安多县| 策勒县| 涡阳县| 河西区| 阿合奇县| 游戏| 巫溪县| 榕江县| 南丰县| 三亚市| 大理市| 青龙| 任丘市| 泰兴市| 漳州市| 兰考县| 永修县| 明溪县| 临城县| 谢通门县| 钦州市| 阿坝| 洪湖市| 准格尔旗| 轮台县| 恩施市| 衢州市| 台东县| 玉山县| 布尔津县| 福鼎市| 贵南县| 静安区| 汉源县| 屏东市| 武安市| 通化县| 常山县| 连城县| 嘉祥县| 绍兴市|