初识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的模板引擎技术, ...
随机推荐
- vue 新建项目
1. 首先安装node.js,安装时一直点Next,知道Finish就可以安装成功 2. 打开控制命令执行程序cmd,输入node -v ,可以查看node的版本信息,即安装成功,我安装的是v8.12 ...
- 解决Maven web 项目 Cannot detect Web Project version. Please specify version of Web Project through ... 的错误
创建maven项目的时候,maven文件头报错: Cannot detect Web Project version. Please specify version of Web Project th ...
- vue 通知 走马灯效果
封装一个子组件: <template> <div class="container"> <div class="wrap"> ...
- The 19th Zhejiang University Programming Contest Sponsored by TuSimple (Mirror)
http://acm.zju.edu.cn/onlinejudge/showContestProblems.do?contestId=391 A Thanks, TuSimple! Time ...
- HDFS基本Shell命令
bin目录下: 1. hadoop fs 基本操作命令,类似linux shell 2. hadoop dfsadmin 管理命令 3. hadoop fsck (1. 检查hdfs中文件的健康 ...
- Python基础:七、注释
有时候我们写的东西不一定都是给用户看的,或者不希望解释器执行(方便自己,方便他人),我们可以使用#来注释掉代码被注释的内容是不会执行的,可以方便后面的程序员来拜读你的代码. 1. 单行注释:#被注释的 ...
- 使用nginx mirror 制作nexus 的简单ha
主要是运行两台nexus 机器,通过nexus 的host 以及proxy 以及public 模型,结合nginx 的mirror 将对于host 的get 请求 mirror 到另一台机器pro ...
- java8_api_jni
java本地接口 jni java native interface,用于java代码和本地编程语言(c,c++等)交互的编程接口 java不太会跟底层硬件打交道,而c,c++跟底层 ...
- C# 特性(Attribute)之Serializable特性
转载自:https://www.cnblogs.com/GreenLeaves/p/6753261.html 介绍之前,先说一个重要的知识点: Serializable属性并不序列化类,它只是一个标签 ...
- http摘要认证
摘要认证步骤: 1. 客户端访问一个受http摘要认证保护的资源. 2. 服务器返回401状态以及nonce等信息,要求客户端进行认证. HTTP/1.1 401 Unauthor ...