0

現在速度テンプレートを使用していますが、Customer オブジェクトを渡すことができるかどうか、または個別に値を渡す必要があるかどうかを知りたいですか?

たとえば、、、などを実行できますか$customer.name、または、、、$customer.titleなどを継続する必要がありますか? ありがとう!$name$title

4

1 に答える 1

3

Velocity ユーザー ガイドを確認してください。メソッドに関するセクションがあり、オブジェクトのメソッドを呼び出すさまざまな方法が示されています。

メソッド

メソッドは Java コードで定義され、計算の実行や決定への到達などの有用な処理を行うことができます。メソッドは、先頭の「$」文字とそれに続く VTL 識別子、その後に続く VTL メソッド本体で構成される参照です。VTL メソッド本体は、VTL 識別子とそれに続く左括弧文字 ("(")、オプションのパラメーター リスト、右括弧文字 (")") で構成されます。VTL で有効なメソッド参照の例を次に示します。

$customer.getAddress() $purchase.getTotal() $page.setTitle( "私のホームページ" ) $person.setAttributes( ["奇妙", "変", "興奮"] )

それに続くのは、オブジェクト プロパティの参照に関するセクションです。

プロパティ ルックアップ ルール

前述したように、プロパティは親オブジェクトのメソッドを参照することがよくあります。要求されたプロパティに対応するメソッドを特定するとき、Velocity は非常に巧妙です。いくつかの確立された命名規則に基づいて、さまざまな代替案を試します。正確なルックアップ シーケンスは、プロパティ名が大文字で始まるかどうかによって異なります。$customer.address などの小文字の名前の場合、順序は次のとおりです。

getaddress()
getAddress()
get("address")
isAddress()

$customer.Address のような大文字のプロパティ名の場合は、少し異なります。

getAddress()
getaddress()
get("Address")
isAddress()

そうです、オブジェクトを Velocity コンテキストに配置して、そのフィールドを参照できます。

于 2013-06-12T14:06:01.297 に答える