初识Velocity
哇,好长时间没有写文章啦~
楼主最近在工作中认识了一个叫做Velocity的java的模板引擎,小白的我去网上看了一下,应用还蛮多的,然而我目前接触到的只是用于基于模板生成这块的知识,想写个文章记下,以后随时可以看下,只是一个简单的用xml生成javaBean的步骤,有需要的同学可以交流下~~~或者给我推荐一些好的文章
Velocity模板生成方法(xml生成JavaBean):
1.根据需求编写xml文件(其实很多格式的文件都可以,像json啦),或者已有xml模板的格式,模板的好处就是你下次再添加需求的时候可以直接在xml中按照格式添加就好啦,xml格式可以像下面这样~
<?xml version="1.0" encoding="UTF-8"?>
<xml-body>
<table name="" desc="">
<column name="" type="" desc="" />
<column name="" type="" desc="" />
<column name="" type="" desc="" />
<column name="" type="" desc="" />
<column name="" type="" desc="" />
<column name="" type="" desc="" />
</table>
</xml-body>
2.有了xml文件,那就要解析它,我们要生成javaBean,所以说,我们就把xml中一个table当做一个类,table下的column当做它的属性,这样,以后你再想多加一个类,在xml中加一个table就行了,这时你需要根据你的需求来定义一个xml解析类,将解析结果放在你的存储对象中(自己定义类来保存解析的结果),解析xml的方式,DOM或SAX都可以;
3.有了解析结果的存储对象,现在可以编写模板了,模板是以xxx.vm(放在src的目录下)的形式,Velocity模板的有它的语法,大家可以看看这个,其实这个不用太琢磨,语法什么的一会就看懂了,也没必要一次看完,用到什么再找就行了,其实就是像java语法似的,用一些循环,变量什么的将存储对象里的值来填充vm模板里的变量,从而生成想要的java代码;
看似只有这简单的3步,但要自己真正实现起来还得仔细的想一想,怎样定义xml格式便于解析,解析放到怎样的存储对象中去,想要什么样的java代码要怎样写vm文件,编码格式,vm文件位置,这些都要注意,不过一般工作上这些都已经做好了,我们主要还是要了解整个过程,有兴趣可以写个demo试一下;
vm文件位置问题lz也没解决呢,现在是放在src目录下;设置了位置也不行,QAQ,有大神知道了说一下哈~
初识Velocity的更多相关文章
- jQuery-velocity.js 插件的简易使用
初识Velocity动画,感觉它并没有那么强大,但是渐渐感觉它的ui动画可以让我们简易的使用到我们的项目中. Velocity动画的简介: 下载地址:http://www.julian.com/res ...
- VTL(Velocity Templates Language,即Velocity模板语言)初识语法总结
1.velocity是一门基于Java语言的视图表现层模板引擎,它可以取代jsp,比jsp更高效. 2.velocity变量的定义与引用 (1).定义一个变量:#set ($a = "vel ...
- Velocity.js初识
Velocity.js官网:http://julian.com/research/velocity/ 兼容IE8和Android2.3 Velocity.js基本用法 效果图: CSS .box{ w ...
- ? 初识Webx 3
初识webx 2: http://www.cnblogs.com/lddbupt/p/5552351.html Webx Turbine建立在Webx Framework的基础上,实现了页面渲染.布局 ...
- 细细品味大数据--初识hadoop
初识hadoop 前言 之前在学校的时候一直就想学习大数据方面的技术,包括hadoop和机器学习啊什么的,但是归根结底就是因为自己太懒了,导致没有坚持多长时间,加上一直为offer做准备,所以当时重心 ...
- 武林高手?敏捷开发,唯velocity取胜
去年学习软件工程教材,初识敏捷开发.目前所在的团队,也是使用敏捷开发方式.今天读了这篇文章,对于这段时间的效率有所警醒.其次,个人认同文章中的用户故事,结对编程思想. 文章援引:http://gitb ...
- Velocity笔记--使用Velocity获取动态Web项目名的问题
以前使用jsp开发的时候,可以通过request很轻松的获取到根项目名,现在换到使用velocity渲染视图,因为已经不依赖servlet,request等一些类的环境,而Web项目的根项目名又不是写 ...
- Velocity初探小结--velocity使用语法详解
做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...
- Velocity初探小结--Velocity在spring中的配置和使用
最近正在做的项目前端使用了Velocity进行View层的数据渲染,之前没有接触过,草草过了一遍,就上手开始写,现在又回头细致的看了一遍,做个笔记. velocity是一种基于java的模板引擎技术, ...
随机推荐
- s21day19 python笔记
s21day19 python笔记 一.面向对象的基本知识 1.1 基本格式 # 定义类 class 类名: def 方法名(self,name): print(name) return 123 de ...
- ubuntu18安装navicat
1.登陆 http://www.navicat.com.cn/download/navicat-for-mysql 页面下载navicat安装包,务必选位置1-64bit ps: 中文版乱码问题严重, ...
- python leetcode 颠倒二进制数
我的做法,,这个题在于必须补0 def reverseBits(n): num=32-len(bin(n)[2:]) m = bin(n)[2:][::-1] if num > 0: for i ...
- 在Ubuntu15.10中,使用wxPython的webview和JS进行交互
在Ubuntu下进行wxPython开发,因为需求,所以使用了wxPython的webview和JS的交互. 在Windows下,下图显示的代码可以正常的运行,但是在Ubuntu下进行开发,以下的代码 ...
- java 大数运算[转]
用JAVA 实现算术表达式(1234324234324 + 8938459043545)/5 + 343434343432.59845 因为JAVA语言中的long 定义的变量值的最大数受到限制,例如 ...
- GraphQL搭配MongoDB入门项目实战
什么是GraphQL GraphQL 是一种面向 API 的查询语言.在互联网早期,需求都以 Web 为主,那时候数据和业务需求都不复杂,所以用 RestAPI 的方式完全可以满足需求.但是随着互联网 ...
- 修复因为存储空间问题引起的nexus 服务启动异常
故障描述 因为nexus所在服务器存储空间满了, 做了部分清理操作,结果nexus 启动异常,提示错误信息基本类似如下: build 285537d2767275f460df32c6a3be01b ...
- How to detect, enable and disable SMBv1, SMBv2, and SMBv3 in Windows and Windows Server
转自:https://support.microsoft.com/en-us/help/2696547/detect-enable-disable-smbv1-smbv2-smbv3-in-windo ...
- mysql 生成时间序列数据 - 存储过程
由于时间自动转换为int值, 做一步转化,也可在调用时处理 use `test`; CREATE table test.test1 as SELECT state, id, `规格条码`, `色号条码 ...
- jmeter的简单http接口用法
1. jmeter的启动:windows下的环境 进入jmeter的并目录双击启动 Mac电脑 进入bin目录找到jmeter.sh 文件 在终端执行./jmeter.sh 或者./jmeter. ...