2012-04-24 13 views
1

FreeMarkerテンプレートとJiveプラグイン(Javaで書かれています)との接続についての初心者の質問はここにあります。FreemarkerのJiveプラグインの実装#リスト

次のように私は、いくつかのFTLとの既存の、作業のプロジェクトを継承しています

<#list employeeInstances! as instance> 
    <tr> 
    ... 
    </tr> 
</#list> 

私は実際にJavaプラグインでどのように実装されるかemployeeInstances理解しようとしています。プロジェクト内の他の場所では 'employeeInstances'への参照はありません。最も近いがこれです:

public ArrayList<EmployeeInstance> getEmployeeInstances() 
{ 
    ... 
} 

私は、これはジャイブが#list employeeInstancesを見たときに呼ばれているものであることを推測しています。そうですか?基本的には、シーケンス名 'employeeInstances'の最初の文字を大文字にしてから、それに接頭辞 'get'を付けるのですか?これについて議論したFreeMarkerやJiveのドキュメントでは何も見つかりませんでした。

ありがとうございました。

答えて

1

Template.processまたはEnvironment.processに渡されるデータモデルを確認してください。それがgetEmployeeInstancesメソッドを持つクラスのインスタンスである場合、あなたの推測は正しいものでした。 FreeMarkerはJavaBeanのプロパティを変数として公開しますので、getFoo()fooになります。

+0

ありがとうございました。私がプロジェクト内の ".process"(FTLやJAVAソース、または他のファイルについて)を参照していなくても、それは単なるBeanインタフェースのものだと思います。 OOが到着して以来、ソフトでドットを接続することがどれほど難しくなったのか、私は大変です。 – jarmod

+0

確かに 'process'が依存関係jar-sのいくつかで呼び出されます。どこかに呼び出さなければならないからです。 (その上にデバッガブレークポイントを置き、誰が呼び出し元であるかを確認してください)。 – ddekany

関連する問題