初识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的模板引擎技术, ...
随机推荐
- docker for windows 部署gitlab
gitlab的安装相对繁琐,如果使用docker 镜像的方式就轻松太多了. 我是用的环境是windows10 专业版 + docker for windows 1.右键docker打开Kitemati ...
- Skynet服务热点火焰图分析
最近花了一周时间对场景服务进行热点分析,利用以前的火焰图工具做了一点微小的贡献,分享下心得(仓库地址在https://github.com/spin6lock/skynet_systemtap_set ...
- scrapy学习笔记之hello world
1. 创建项目文档 在目标路径下,打开命令行,使用如下命令创建项目,例如项目名称为 "tutorial": scrapy startproject tutorial - 创建项目时 ...
- Python学习之路基础篇--06Python基础+dict的学习
字典和列表其实差不多,所说3.6 之前的版本字典是没有顺序的.是Python中唯一的映射数据类型,key 是可哈希(不可变数据类型),如元组.bool.int 和 str:value 是任意数据类型. ...
- 2015219付颖卓《网络对抗》EXP8 Web基础
实验后回答问题 1.什么是表单 来自百度百科的官方定义:表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方 ...
- Python之简单验证码实现
def v_code(): ret = '' for i in range(5): num = random.randint(0,9) alf = chr(random.randint(65,122) ...
- 记一次禁止chrome打印出现空白页的情况
项目中遇到一个问题:就是chrome浏览器打印时,会多少出一张空白页.经过Google,问题解决.
- PowerShell 知识点总结
- 福利之——如何写好年终总结PPT
撰写年终总结PPT大致分三个步骤(TDR三部曲): 第一步:确定大纲(THINK) 第二步:优化PPT(DESIGN) 第三步:练习演讲(REHEARSE) 让领导看见你的成绩,听明白你未来的‘宏伟计 ...
- 我发起了一个 用 javascript 写一个 Office 的 开源项目 JS Office
用 js 写 Office, 说实在的, 把 现在已有的 各种 富文本编辑器 和 电子表格 js 库 收集起来 整合一下 就 差不多了 , 放到 前几天 那个 “ js 作为 一等公民 ...