2010-09-13 60 views
0

可以使用freemarker進行下一步嗎?freemarker,從模板解析值

例如在模板我指定某些值(我希望我的語法是不是誤導):

<td>${{<img src="[1234:thumb]" /><img src="[3456:thumb]" />}?{images are missing}}</td> 

的想法是,如果應用程序可以創造價值,然後在模板中使用新的價值,如果沒有可以 - 使用默認值。重點是我需要模板的值(「1234:拇指」)來創建正確的輸出。

這裏應用程序從模板中獲取「1234:thumb」和「3456:thumb」,並根據這些值創建圖像。如果imagecreation是成功的(兩個圖像),路徑圖像寫回輸出:

<td><img src="images/1234.jpg" /><img src="images/3456.jpg" /></td> 

如果沒有創建任何圖像,默認值(「圖像丟失」)寫入到輸出:

<td>images are missing</td> 

所以2個問題:

  1. 是可以存儲在模板值和解析它們?
  2. 什麼是輸出默認值(模板或應用程序中的if/else)的正確方法?
+0

我會說邏輯不應該在模板中。 – Andy 2010-10-20 03:20:34

+0

@ andy-pryor,是的,你說得對,這是邏輯錯誤的地方。我以不同的方式做到了。 – 2011-01-14 11:45:09

回答

0

可以說你有兩個變量爲你的兩個圖像:thumb1234和thumb3456。

您可以測試這些變量是否使用「??」運營商。

<#if thumb1234?? && thumb3456??> 
    <td><img src="${thumb1234}" /><img src="${thumb3456}" /></td> 
<#else> 
    <td>images are missing</td> 
</#if> 
+0

謝謝你的回答,但這不是我問的問題。 – 2011-01-14 11:43:29