• 转 velocity 模板使用总结


    Velocity是一个基于java的模板引擎。它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象。

    Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只 关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提 供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。

    Velocity基本语法和使用:

    1. “#”用来标识Velocity的脚本语句。

    如:#set、#if 、#else、#foreach、#end、#include、#parse、#macro等。

    2. “$”用来标识一个对象(或理解为PHP的变量)

    如:$i、$user等。

    3. “{}”用来明确标识Velocity变量,和普通模版字符串区分开来;

    如:${user}‘s age 可以显示为 riqi’s age。

    4. “!”强制把不存在的变量显示为空白。

    如:$!msg,假如msg对象为空,则模版中不显示该变量;如果缺少”!”,则显示$msg字符串,这是我们不想要的结果。

    5. 变量的定义和赋值。不需要指定变量的类型,类似弱类型语言PHP可以随意指定,在赋值后自动判定变量的类型,如:

    1
    2
    #set($username="riqi") ##设置用户名
    #set($age=26) ##设置年龄

    6. 数组循环

    1
    2
    3
    #foreach ($user in $users)
        $!{user} $!{velocityCount} <br />
    #end

    $users可以是Vector、Hashtable或者Array,Velocity提供了得到循环次数的值:$velocityCount。

    7. 语句注释

    单行注释:## 单行注释代码

    多行注释:#* 多行注释代码 *#

    8. 模版支持关系和逻辑操作符运算,如:&&、||、! 等

    9. 宏定义:#macro ,类似PHP声明一个函数,其中有函数名称和参数列表。先定义再调用。

    10. 终止命令:#stop,类似PHP的exit(); 停止执行模板引擎并返回。

    11. 引入公共模版文件:#include与#parse,它们的差异是:

    (1) 与#include不同的是,#parse只能指定单个对象。而#include可以有多个

    如果您需要引入多个文件,可以用逗号分隔就行:

    #include (“one.gif”, “two.txt”, “three.htm” )

    在括号内可以是文件名,但是更多的时候是使用变量的:

    #include ( “greetings.txt”, $seasonalstock )

    (2) #include被引入文件的内容将不会通过模板引擎解析;

    而#parse引入的文件内容Velocity将解析其中的velocity语法并移交给模板,意思就是说相当与把引入的文件copy到文件中。

    #parse是可以递归调用的。

    12. 转义字符’’.

    这个和其它语言没有差异,假如:$user=”riqi”; 那么,$user 表示输出 $user字符串,$user表示输出riqi。

    13. Velocity内置了一部分java对象 如:$request、$response、$session等,在vm模版里可以直接调用。

    ————————————————————————————

    细节整理:

    1. Velocity判断某个变量是否为空的方式:

    1
    #if($!变量名)……#else……#end

    或者:

    1
    #if("" == $!varName)……#else……#end
  • 相关阅读:
    随机生成三十个二年级的加减乘除法的题目代码
    学习进度表_四周
    返回一个整数数组中最大子数组的和1
    学习进度表_三周
    四则运算4
    构建之法读书笔记2
    学习进度表_二周
    四则运算3
    四则运算2
    单元测试
  • 原文地址:https://www.cnblogs.com/sidesky/p/3484960.html
Copyright © 2020-2023  润新知