码迷,mamicode.com
首页 > 其他好文 > 详细

velocity生成静态页面代码

时间:2014-08-28 18:03:25      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   java   io   ar   文件   

首先需要两个必备的jar包:

velocity.jar   velocity-tool-view.jar   

web.xml

  <!-- load velocity property -->
  <servlet>
       <servlet-name>velocity</servlet-name>
       <servlet-class>org.apache.velocity.tools.view.servlet.VelocityLayoutServlet</servlet-class>
       <init-param>
           <param-name>org.apache.velocity.properties</param-name>
           <param-value>/WEB-INF/velocity.properties</param-value>
       </init-param>    
  </servlet>
  <servlet-mapping>
      <servlet-name>velocity</servlet-name>
      <url-pattern>*.vm</url-pattern>
  </servlet-mapping>

velocity.properties
input.encoding=utf-8
output.encoding=utf-8

WebRoot.resource.loader.class = org.apache.velocity.tools.view.servlet.WebappLoader
webapp.resource.loader.path=/WEB-INF/vm/

 

后台调用:

      String realpath = request.getRealPath("/");
            
            //模板路径
            String urlVm = "/WEB-INF/vm/test.vm"; 
            
            //生成的html的路径,在webroot的html文件夹下面
            String urlHtml = realpath+"/html/test.htm";
            
            //设置模板中的元素
            VelocityContext  context = new VelocityContext();
            context.put("title", "hello word ");
            
            CreateHtml.createHtml(realpath,urlVm,urlHtml,context);    
CreateHtml.java 

package com.velocity;

import java.io.PrintWriter;
import java.util.Properties;

import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;

public class CreateHtml {  
    public static void createHtml(String realpath, String urlVm,
            String urlHtml, VelocityContext context) {
        
        //加载路径
        Properties  prop = new Properties();
        prop.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, realpath);
        try {
            Velocity.init(prop);
            //初始化vm模板
            Template  template = new Template();
            template = Velocity.getTemplate(urlVm, "utf-8");
            
            //生成html页面
            PrintWriter  writer = new PrintWriter(urlHtml);
            template.merge(context, writer);
            
            //切记关闭流
            writer.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    
    }
    
}

 

这样就在服务器下生成了静态页面,页面就直接访问你生成的页面,例如:http://localhost:8080/html/test.htm

 

velocity生成静态页面代码

标签:style   blog   http   color   os   java   io   ar   文件   

原文地址:http://www.cnblogs.com/estellez/p/3942062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!