2012-04-24 43 views
1

這裏有關於FreeMarker模板和Jive插件(用Java編寫)之間的連接的新手問題。Freemarker #list的Jive插件實現

我繼承了現有的,正在與一些FTL項目,具體如下:

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

我想了解如何employeeInstances在Java插件實際執行。項目中的其他任何地方都沒有提及'employeeInstances'。最接近的是這樣的:

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

我猜測,這是當牛仔看到#list employeeInstances什麼被調用。是對的嗎?它基本上是大寫序列名稱'employeeInstances'的第一個字母,然後在前面添加單詞'get'?我無法在FreeMarker或Jive文檔中找到任何討論此問題的內容。

謝謝。

回答

1

檢查將數據模型傳遞給Template.processEnvironment.process。如果它是帶有getEmployeeInstances方法的類的實例,那麼你的猜測是正確的。 FreeMarker將JavaBean屬性公開爲變量,因此getFoo()變爲foo

+0

謝謝。儘管我沒有在項目中看到任何對「.process」的引用(FTL或JAVA源文件或任何其他文件),但我想這只是一個bean界面的東西。自從面向對象到達後,我很喜歡在軟件中連接點的難度。 – jarmod 2012-04-25 15:37:53

+0

當然''process'在一些依賴jar-s中被調用。因爲某處它必須被調用。 (把一個調試器斷點放在上面,看看調用者是誰。) – ddekany 2012-04-26 11:25:40