这里面是关于velocity的一些用法,比较基础的使用。愿你生命中有够多的云翳,来造成一个美丽的黄昏。

velocity生成javaBean

一、定义一个简单的bean类

public class ClassBean {
private String name;
private String comment; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getComment() {
return comment;
} public void setComment(String comment) {
this.comment = comment;
}
}

二、生成javabean的velocity代码

private VelocityEngine init() {
VelocityEngine ve = new VelocityEngine();
ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
ve.init();
return ve;
}
@Test
public void velocity_test_2() {
VelocityEngine ve = init(); Template t = ve.getTemplate("template/ClassVelocity.vm");
VelocityContext ctx = new VelocityContext(); // 数据
List<ClassBean> classBeans = new ArrayList<>();
ClassBean classBean1 = new ClassBean();
classBean1.setName("username");
classBean1.setComment("用户名"); ClassBean classBean2 = new ClassBean();
classBean2.setName("password");
classBean2.setComment("密码"); ClassBean classBean3 = new ClassBean();
classBean3.setName("address");
classBean3.setComment("地址"); classBeans.add(classBean1);
classBeans.add(classBean2);
classBeans.add(classBean3); ctx.put("className", "Person");
ctx.put("list", classBeans); StringWriter sw = new StringWriter();
t.merge(ctx, sw);
System.out.println(sw.toString());
}

三、ClassVelocity.vm的内容如下

##首字母大写
#macro(initUpperCase $field)
$field.toUpperCase().substring(,)$field.substring()##
#end public class $className {
#foreach($bean in $list)
private String $bean.getName(); // $bean.getComment()
#end
#foreach($bean in $list)
#set($filed = $bean.getName())
public String get#initUpperCase($filed)() {
return $filed;
}
public void set#initUpperCase($filed)(String $filed){
this.$filed = $filed;
}
#end
}

四、生成的代码如下:

public class Person {
private String username; // 用户名
private String password; // 密码
private String address; // 地址
public String getUsername() {
return username;
}
public void setUsername(String username){
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password){
this.password = password;
}
public String getAddress() {
return address;
}
public void setAddress(String address){
this.address = address;
}
}

友情链接

web基础----->模板引擎Velocity的使用(二)的更多相关文章

  1. web基础----->模板引擎Velocity的使用(一)

    Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上.今天我们就学习一下Velocity的用法. Velocity的第一个例子 项目的主体是 ...

  2. 模板引擎 Velocity

    模板引擎 Velocity 一.Velocity简介: Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template langu ...

  3. OSCHina技术导向:Java模板引擎velocity

    OSChina 采用 velocity 作为页面模板 Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template langua ...

  4. [Java] 模板引擎 Velocity 随笔

    Velocity 是一个基于 Java 的模板引擎. 本博文演示 Velocity 的 HelloWord 以及分支条件. HelloWord.vm,模板文件. templateDemo.java, ...

  5. apache的开源项目-模板引擎(Velocity)(转)

    然后修改conf文件下的server.xml文件,在server.xml里的           <Connector port="8080" .... />字段后   ...

  6. 模板引擎Velocity学习系列-#set指令

    #set指令 #set指令用于向一个变量或者对象赋值. 格式: #set($var = value) LHS是一个变量,不要使用特殊字符例如英文句号等,不能用大括号括起来.测试发现#set($user ...

  7. springBoot(6):web开发-模板引擎jsp

    一.新建工程 注意新建的工程下没有webapp目录eclipse下会自动创建webapp目录这里我们需要自动创建一个webapp目录并创建WEB-INF. 对ServletInitializer.ja ...

  8. Velocity模板引擎入门

    类似于PHP中的Smarty,Velocity是一个基于Java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代 ...

  9. 【转载】Velocity模板引擎的介绍和基本的模板语言语法使用

    原文地址http://www.itzhai.com/the-introduction-of-the-velocity-template-engine-template-language-syntax- ...

随机推荐

  1. C语言 · 第二大整数

    算法提高 第二大整数   时间限制:1.0s   内存限制:512.0MB      问题描述 编写一个程序,读入一组整数(不超过20个),当用户输入0时,表示输入结束.然后程序将从这组整数中,把第二 ...

  2. datagrid中reoload提交时如何批量提交表单中的查询条件

    看标题描述有点复杂,看下图: 直接将手工添加的一个个字段直接用一句代码完成. $('#dg_sub').datagrid("reload",$('#searchForm').ser ...

  3. iOS基础--UIView的常见属性

    UIView的常见属性以及方法 @property(nonatomic,readonly) UIView *superview; // 获得自己的父控件对象 @property(nonatomic,r ...

  4. 谈API网关的背景、架构以及落地方案

    Chris Richardson曾经在他的博客上详细介绍过API网关,包括API网关的背景.解决方案以及案例.对于大多数基于微服务的应用程序而言,API网关都应该是系统的入口,它会负责服务请求路由.组 ...

  5. 关于Cocos2d-x项目运行的过程和场景切换步骤

    1.AppDelegate.cpp文件里面的applicationDidFinishLaunching函数其实可以看做C语言里面的main函数,是整个游戏运行的入口 这个函数里面的语句 auto sc ...

  6. 在 C++ 程序中只使用 const 常量而不使用宏常量

    在 C++ 程序中只使用 const 常量而不使用宏常量,即 const 常量完 全取代宏常量. #include <iostream> /* run this program using ...

  7. HEVC/H.265 的未来必须是使用并行处理(OpenCL?) OpenCV和OpenCL区别

    1 扩展库简介 OpenCV(Open Source Computer Vision Library)是一个致力于实时处理计算机视觉问题的开源库.它最初由Intel公司开发,以GPL许可协议发布,后来 ...

  8. (转载)UTF-8和GBK的编码方式的部分知识:重要

    GBK的文字编码是双字节来表示的,即不论中.英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1. 至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节) ...

  9. js使用正则表达式从url中获取参数值

    //从url中获取参数值 function getvl(name) { var reg = new RegExp("(^|\\?|&)"+ name +"=([^ ...

  10. 基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...