首页 技术 正文
技术 2022年11月9日
0 收藏 662 点赞 2,274 浏览 1687 个字

首先需要必备的jar包:

velocity生成静态页面代码

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-8WebRoot.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

 
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,564
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,413
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,186
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905