Velocity 官方实例学习一 (app_example1)
2013-03-22 00:00
459 查看
刚接触模板语言,主要是想通过模板自动生成一些具有共性的代码块,让自己的开发效率有所提升,因为公司的SSH框架形成了一套固定的模式,我的想法是通过模板,把每次开发中需要的界面可以自动的生成,自己更多关心逻辑业务的编写。
Velocity的使用入门看了下Example感觉确实很比较容易上手,很适合目前的想法。
Example.java
Velocity的使用入门看了下Example感觉确实很比较容易上手,很适合目前的想法。
Example.java
public class Example { public Example(String templateFile) { try { /* * setup */ //创建Propertis对象,可用properties文件保存 Properties p = new Properties(); // 设置输入输出编码类型 p.setProperty(Velocity.INPUT_ENCODING, "UTF-8"); p.setProperty(Velocity.OUTPUT_ENCODING, "UTF-8"); // 初始化模板文件的加载路径 缺省是使用文件系统读取模板文件 模板路径需要放置于class/ //src目录下 p.setProperty("file.resource.loader.class","org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); //p.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, Example.class.getClassLoader().getResource("").getPath()); Velocity.init(p); //数据填充对象 VelocityContext context = new VelocityContext(); context.put("list", getNames()); //模板对象 Template template = null; try { template = Velocity.getTemplate(templateFile); } catch (ResourceNotFoundException rnfe) { System.out.println("Example : error : cannot find template " + templateFile); } catch (ParseErrorException pee) { System.out.println("Example : Syntax error in template " + templateFile + ":" + pee); } //输出流 BufferedWriter writer = writer = new BufferedWriter( new OutputStreamWriter(System.out)); if (template != null) template.merge(context, writer); /* * flush and cleanup */ writer.flush(); writer.close(); } catch (Exception e) { System.out.println(e); } } public ArrayList getNames() { ArrayList list = new ArrayList(); list.add("ArrayList element 1"); list.add("ArrayList element 2"); list.add("ArrayList element 3"); list.add("ArrayList element 4"); return list; } public static void main(String[] args) { String templateFilePath = "template/example.vm"; Example t = new Example(templateFilePath); } }example.vm
##设置一个值为“Velocity”的变量 $this #set( $this = "Velocity") ##取值 或者${this} $this is great! ##遍历一个List #foreach( $name in $list ) $name is great! #end #set( $condition = true) ##条件控制 #if ($condition) The condition is true! #else The condition is false! #end
相关文章推荐
- Velocity 官方实例学习二 (context_example)
- 官方NotePad实例学习--读取数据Cursor的使用
- 官方NotePad实例学习--ListActivity的使用
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [2] 首页 APP 接口开发方案 ① 读取数据库方式
- Velocity学习1之单实例多实例
- Unity官方游戏实例视频中文教程之太空射击学习笔记
- rocketmq学习笔记 二 官方实例<分布式事务>
- Unity官方实例教程 Roll-a-Ball 学习笔记(一)+(二)
- android基础学习综合实例——天气预报App(基本功能实现)
- 一个实例学习Kotlin 开发 Android App 的全过程(内有代码)
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [7] APP 错误日志接口
- 一个实例学习Kotlin 开发 Android App 的全过程(内有代码)
- Sencha学习笔记4: Creating your First App - 官方创建您的第一个Sencha Touch应用指导
- rocketmq学习笔记 二 官方实例<消费者操作>
- Python下的机器学习工具scikit-learn(学习笔记2--官方实例程序)
- 官方NotePad实例学习--标准菜单onCreateOptionsMenu的使用
- 官方NotePad实例学习--SQLiteOpenHelper的用法
- 官方NotePad实例学习--标准菜单onCreateOptionsMenu的使用
- Android app接收来自adb发送的广播的实例学习
- Android(java)学习笔记117:英文朗诵android App编写实例