Velocity サンプル チュートリアルの共有

零下一度
リリース: 2017-07-20 16:47:50
オリジナル
2205 人が閲覧しました

1. ベロシティとは何ですか?

Velocity は、Java コードで定義されたオブジェクトを参照するためのテンプレート言語を提供する Java ベースのテンプレート エンジンです。

2. ベロシティでできることは何ですか?

  1. Velocity は HTML ページを作成し、プレースホルダーを予約できます。 (最も基本的な使い方)

  2. Velocity は、テンプレートに基づいて Java および SQL ソース コードを生成できます。 (見たことない)

  3. メールを自動的に生成します。 (見たことない)

  4. XML を読み取り、必要なドキュメント形式 (通常は HTML) に変換します。 (見たことない)

3. 速度の例

速度アノテーション

単一行 ####
多行 #*    *#
代码块注释(信息) ##*    *#

Velocity 变量

定义:

#set( $foo = "Velocity" )
ログイン後にコピー

使用:

$foo
${foo}
ログイン後にコピー

Velocity 集合

#set( $greatlakes = ["Superior","Michigan","Huron","Erie","Ontario"] )
ログイン後にコピー

Velocity 条件判断

#if( $foo < 10 )
    <strong>Go North</strong>
#elseif( $foo == 10 )
    <strong>Go East</strong>
#else
    <strong>Go West</strong>
#end
ログイン後にコピー

Velocity 循环

#foreach( $customer in $customerList )
    #if( $foreach.count > 5 )
        #break
    #end
    $customer.Name
#end
ログイン後にコピー

Velocity 引用文件

#include( "one.vm" ) one.vm 不解析。
#parse( "me.vm" ) me.vm 解析。
ログイン後にコピー

Velocity 定义代码块

#define( $block )
Hello $who
#end

#set( $who = &#39;World!&#39; )
$block
ログイン後にコピー

Velocity 宏调用

  • 无参

#macro( d )
<tr><td></td></tr>
#end

#d()
ログイン後にコピー
  • 单参

#macro( d )
<tr><td>$!bodyContent</td></tr>
#end

#@d()Hello#end
ログイン後にコピー
  • 任意参数

定义

#macro( tablerows $color $somelist )
#foreach( $something in $somelist )
    <tr><td bgcolor=$color>$something</td></tr>
#end
#end
ログイン後にコピー

调用

#set( $greatlakes = ["Superior","Michigan","Huron","Erie","Ontario"] )
#set( $color = "blue" )

    #tablerows( $color $greatlakes )
ログイン後にコピー

输出

<table><tr><td bgcolor="blue">Superior</td></tr><tr><td bgcolor="blue">Michigan</td></tr><tr><td bgcolor="blue">Huron</td></tr><tr><td bgcolor="blue">Erie</td></tr><tr><td bgcolor="blue">Ontario</td></tr></table>
ログイン後にコピー

Velocity 填坑

1. 各种写法

$foo
## is the same as
${foo}

$foo.getBar()
## is the same as
$foo.Bar$data.setUser("jon")
## is the same as
#set( $data.User = "jon" )

$data.getRequest().getServerName()
## is the same as
$data.Request.ServerName## is the same as
${data.Request.ServerName}
ログイン後にコピー

2. Velocity 变量未定义
使用 $!,例

$!foo
ログイン後にコピー

当 foo 未定义,输出空白字符串。

3. Velocity 调用顺序
Velocity中$customer.address 複数行 #* *#

コード ブロック コメント (情報) ) ##* *#
速度変数

定義:

getaddress()getAddress()get("address")isAddress()
ログイン後にコピー


使用:

rrreee速度コレクション

rrreee

速度条件判断

rrreee 速度ループ
rrreee

Velocityリファレンスファイル

rrreee🎜🎜Velocity定義コードブロック🎜🎜rrreee🎜🎜Velocityマクロ呼び出し🎜
    🎜🎜パラメータなし🎜🎜
🎜rrreee🎜🎜🎜単一パラメータ🎜🎜🎜rrreee🎜
    🎜🎜任意のパラメータ🎜🎜
🎜定義🎜🎜 rrreee 🎜🎜Call🎜🎜rrreee🎜🎜Output🎜🎜rrreee🎜🎜速度充填ピット🎜🎜🎜1. さまざまな書き込み方法🎜🎜🎜rrreee🎜🎜🎜2. $ を使用してください。 > 例: 🎜🎜rrreee🎜🎜 foo が未定義の場合、空の文字列が出力されます。 🎜🎜🎜3. Velocity の呼び出しシーケンス 🎜🎜$customer.address、呼び出しシーケンス: 🎜🎜rrreee🎜🎜🎜 どちらの場合も true を返します: 🎜( 1)$foo はブール型であり、true です。 🎜(2)$foo は 0 または null ではありません。 🎜🎜🎜5. #if ($foo == $bar)🎜🎜 Velocity 変数は最終的に文字列として出力されるため、Velocity は自動的に .toString() を呼び出して変数を文字列に変換します。 🎜つまり、$foo と $bar は文字列として比較されます。 Javaコード内で型が異なっていてもtrueを返すことが可能です。 🎜🎜Velocity 厳密モード🎜🎜Velocity 1.6 では、Velocity 構成プロパティ「runtime.references.strict」を true に設定することでアクティブ化される🎜厳密参照モード🎜 が導入されています。 🎜定義がない場合や曖昧な場合、Velocity は例外をスローします。 🎜🎜この記事がお役に立てば幸いです。 by iamtjcn🎜

以上がVelocity サンプル チュートリアルの共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート