VTL語法參考

2022-04-06 06:14:26 字數 4403 閱讀 4933

< doctype html public -wcdtd xhtml transitionalen httpwwwworgtrxhtmldtdxhtml-transitionaldtd> 更多請參考:

1.變數定義

變數名的有效字符集:

$[!][]

examples:

2.訪問屬性

格式規則:

$[]

examples:

3.命令呼叫

格式規則:

$[]

examples:

vtl的屬性呼叫可以理解為命令呼叫的簡寫方式,一般會呼叫物件的get/set命令.

3.動作指令

1.#set – 建立變數對值的引用

格式規則:

#[]( $ref=[",']arg[",'] )

examples:

直接引用數字: #set( $monkey.number = 123 )

右值也可以做為乙個表示式出現,如下加,減,cheng,除和取模:

2.#if/#elseif/#else-條件判斷

格式規則:

#[]([條件表示式])[輸出內容] [#[]([condition])[output] ]* [#[] [output] ]#[]

usage:

examples (showing different operators):

operator name

symbol

alternative symbol

example

equals number

eq#if( $foo == 42 )

equals string

eq#if( $foo == "bar" )

object equivalence

eq#if( $foo == $bar )

not equals

ne#if( $foo != $bar )

greater than

gt#if( $foo > 42 )

less than

lt#if( $foo < 42 )

greater than or equal to

ge#if( $foo >= 42 )

less than or equal to

le#if( $foo <= 42 )

boolean not

not#if( !$foo )

注意:1.      「== 「操作可以用來比較數字,字串,或同乙個類的不同物件或不同型別的物件. 當是不同類的物件時,會呼叫它們的tostring()命令結果來做比較看是否相等.

2.      也可以如下用法,但注意else處,用{}括起.

#if( $foo == $bar)it's true!#it's not!#end

3.#foreach---使用迴圈通過列表迭代物件

format:

#[]($refinarg)statement#[]

usage:

示例 #foreach()用法,:

如下可以取得迴圈次數的當前值:

#foreach( $customer in $customerlist )

$velocitycount

$customer.name

#end

預設的迴圈次數的引用變數名為 $velocitycount. 可以在配置檔案velocity.properties中做如下修改成你想要的:

# default name of the loop counter

# variable reference.

directive.foreach.counter.name = velocitycount

# default starting value of the loop

# counter variable reference.

directive.foreach.counter.initial.value = 1

注意,可以對所有可迴圈的次數加乙個最大值來控制,預設的是-1,表示元限制:

# the maximum allowed number of loops.

directive.foreach.maxloops = -1

4.#include – 在模板中引入本地檔案,不用velocity解析這個檔案

format:

#[](arg[ arg2 ... argn])

examples:

5.#parse – 在模板引用處使用velocity解析另乙個模板輸出

format:

#[](arg)

examples:

通過設定配置中的解析層次深度的最大值velocity.properties中項 parse_directive.maxdepth in可以防止死迴圈. (the default parse depth is 10.)

6.#stop – 中斷模板解析

format:

#[]

usage:

在當前模板指令處停止解析,為方便除錯用.

7.#macro – 讓使用者可以定義巨集操作(velocimacro (vm):一組實現特定功能的vtl)

format:

#[](vmname $arg1 [ $arg2 $arg3 ... $argn ])[ vm vtl code... ]#[]

一次定義好了,就可以在其它模板的任何地方使用巨集指令來應用.

#vmname( $arg1 $arg2 )

巨集(vm)可以寫在以下兩個地方:

1.      (模板庫)template library: 可以配置使用者定義的庫以便全站使用

2.      inline: 放入到一般的模板檔案中, 僅當配置引數 velocimacro.permissions.allowinline=true 時生效.

4.comments 註解

comments不是執行時所必須的,但你一定要寫.

1.單行註解

example:

## this is a comment.

2.多行註解

example:

#*

this is a multiline comment.

this is the second line

*#

#c#專欄

ACCESS SQL語法參考

access sql語法參考 一.基礎概念 可以使用的資料型別如下 1.text 文字型 指定長度時 備註型 不指定長度時 2.char,nchar,varchar,nvarchar 文字型,可以指定長度,否則預設值為255!3.byte,tinyint 數字 位元組,不要指定長度和精度,否則會報錯...

CSDN markdown語法參考

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

Markup語法參考

markup的語法參考 建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 定義目錄標題 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器...