Freemarker Loop 写表
Freemarker Loop to write tables
这是用于电子邮件编码。
在我看来很简单,但是我已经将一组数据分配给了一个freemarker变量
[#assign LOOP_TAB]${list.creative!'000000'}[/#assign]
其中 list.creative 包含 1-5
然后我想将相应数量的简单 HTML 表写入我的模板
<!--Begin TEXT BOX-->
[#list 0..LOOP_TAB?length-1 as i]
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="left" valign="top" style="font-size: 14px; font-family: Arial, Helvetica, sans-serif; line-height: 20px; color: #000000;"><br>Loop Table Structure.<br><br></td>
</tr>
</tbody>
</table>[/#list]
它有点工作,但默认情况下我得到两个表,当我测试 2、4 或 1 时从来没有正确数量的表
让我将 LOOP_TAB
重命名为 numberOfTabs
。所以,如果这是一个数字,而不是一个字符串,那么:
[#list 1 ..< numberOfTabs!0 as _]
<table width="100%" border="0" cellspacing="0" cellpadding="0">
...
</table>
[/#list]
如果 numberOfTabs
是一个字符串,并且您无法修复数据模型,则使用 (numberOfTabs?number)!0
而不是 numberOfTabs!0
。
一些进一步的说明:
[#assign LOOP_TAB]${list.creative!'000000'}[/#assign]
可以简单写成[#assign LOOP_TAB = list.creative!'000000']
。但正如您所见,您根本不需要这个。
?length
给出字符串的字符长度,因此,它返回了 LOOP_TABS
. 中字符串的长度
from .. to
给出一个包含范围,此外 0 .. -1
将给出 [0, -1]
,而不是你想要的空序列。所以你需要from ..< to
,它有排他性的结束。
- 我使用
_
作为循环变量只是为了表示您实际上并没有在任何地方阅读它。其他没什么特别的。
这是用于电子邮件编码。 在我看来很简单,但是我已经将一组数据分配给了一个freemarker变量
[#assign LOOP_TAB]${list.creative!'000000'}[/#assign]
其中 list.creative 包含 1-5
然后我想将相应数量的简单 HTML 表写入我的模板
<!--Begin TEXT BOX-->
[#list 0..LOOP_TAB?length-1 as i]
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="left" valign="top" style="font-size: 14px; font-family: Arial, Helvetica, sans-serif; line-height: 20px; color: #000000;"><br>Loop Table Structure.<br><br></td>
</tr>
</tbody>
</table>[/#list]
它有点工作,但默认情况下我得到两个表,当我测试 2、4 或 1 时从来没有正确数量的表
让我将 LOOP_TAB
重命名为 numberOfTabs
。所以,如果这是一个数字,而不是一个字符串,那么:
[#list 1 ..< numberOfTabs!0 as _]
<table width="100%" border="0" cellspacing="0" cellpadding="0">
...
</table>
[/#list]
如果 numberOfTabs
是一个字符串,并且您无法修复数据模型,则使用 (numberOfTabs?number)!0
而不是 numberOfTabs!0
。
一些进一步的说明:
[#assign LOOP_TAB]${list.creative!'000000'}[/#assign]
可以简单写成[#assign LOOP_TAB = list.creative!'000000']
。但正如您所见,您根本不需要这个。?length
给出字符串的字符长度,因此,它返回了LOOP_TABS
. 中字符串的长度
from .. to
给出一个包含范围,此外0 .. -1
将给出[0, -1]
,而不是你想要的空序列。所以你需要from ..< to
,它有排他性的结束。- 我使用
_
作为循环变量只是为了表示您实际上并没有在任何地方阅读它。其他没什么特别的。