Freemarker L oop для написания таблиц - PullRequest
0 голосов
/ 28 февраля 2020

Это для электронной почты. Кажется простым в моей голове, но я назначил набор данных переменной 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

1 Ответ

0 голосов
/ 29 февраля 2020

Позвольте мне переименовать 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, который имеет исключительный конец.
  • Я использовал _ как переменную l oop только для того, чтобы показать, что вы на самом деле нигде не читаете. В противном случае это не особенное.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...