使用Velocity实现客户端和服务器端模板 - 编程入门网
n 和 #else 有选择地呈现
在清单 7 的模板中,使用 $customer 对象的 boolean 属性 GoldMember 确定在最终输出中出现哪些信息。对于金牌顾客,最终输出中将呈现蓝色显示的消息;对于其他顾客,则在最终输出中呈现绿色显示的消息。 模板中经常要使用循环格式化表格或者列表形式的信息。显示的数据通常保存在一个 ArrayList 引用中。在 Velocity 中唯一用于处理重复循环的指示符是 #foreach 指示符。清单 8 中的模板通过 $treeList ArrayList 变量演示了 #foreach 指示符的用法。当然,也可以使用任何其他可用的集合类型的对象引用,或者返回一个集合的对象属性/方法引用。 清单 8. 使用 #foreach 循环
使用Velocity实现客户端和服务器端模板(4)时间:2011-06-27 IBM Sing Li$treeList 中包含树名的列表,清单 8 中的模板合并后的输出如清单 9 所示: 清单 9. #foreach 循环中合并后的输出
如果从 HTML 浏览器中查看,清单 9 当然就是一个包含树名的表。 注意在 #foreach 循环体内有一个内置的计数器,可以在 #foreach 指示符循环体内通过 $velocityCounter 引用访问它。默认情况下,这个计数器从 1 开始,每执行一次循环递增一次。 Velocity 中的宏 Velocity 的一个主要特性是能够很容易地定义宏,称为 Velocimacros。宏使您能够很容易地封装和重用模板脚本。默认情况下,宏保存在 VM_global_library.vm 文件中。比如,考虑清单 10 中名为 #showTree() 的 Velocimacro: 清单 10. 定义 Velocimacro
您可以调用 #showTree() Velocimacro 并使用它打印 $treeList ArrayList ―― 如果这个列表已经定义的话。调用的语法很简单,即 #showTree() 。 参数化宏也是可能的。比如,我们可以修改 #showTree() 宏使其用于任何列表,如清单 11 所示: 清单 11. 带参数的 Velocimacro
要使用清单 11 中的宏调用 $treeList ,我们可以使用 #showList($treeList) 。这两种情况的输出都一样,如清单 12 所示: 清单 12. Velocimacro 的合并输出
使用Velocity实现客户端和服务器端模板(5)时间:2011-06-27 IBM Sing Li其他有趣的 VTL 细节 单行注释或者行尾注释从 ## 开始,多行注释则放在 #* 和 *# 之间。 在处理字符串数据时,可以 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |