freemarker,解析模板中的值

时间:2010-09-13 12:23:09

标签: java templates freemarker

是否可以使用freemarker进行下一步?

e.g。在模板中我指定了一些值(我希望我的语法没有误导性):

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

想法是,如果应用程序可以创建值,那么模板中使用的新值,如果不能 - 使用默认值。重点是我需要模板中的值(“1234:thumb”)来创建正确的输出。

此处应用程序从模板获取“1234:thumb”和“3456:thumb”,并根据这些值创建图像。如果图像创建成功(两个图像),图像的路径写回输出:

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

如果未创建任何一个图像,则将默认值(“图像丢失”)写入输出:

<td>images are missing</td>

所以有2个问题:

  1. 是否可以将这些值存储在模板中并解析它们?
  2. 输出默认值的正确方法是什么(if / else在模板或应用程序中)?

1 个答案:

答案 0 :(得分:0)

假设您的两个图像有两个变量:thumb1234和thumb3456。

您可以使用“??”测试是否设置了这些变量运营商。

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