Вложенный цикл в StringTemplate - PullRequest
7 голосов
/ 24 февраля 2010

Мне интересно написать что-то похожее на вложенный цикл, используя шаблонизатор StringTemplate. В C # есть HashTable, каждый ключ которого содержит список объектов документа, каждый документ имеет заголовок и источник. Я хотел бы перечислить в начале электронного письма сводку названий документов по источникам.

<h1>Summary</h1>
<h2>Source A</h2>
<ul>
  <li>title 1</li>
  <li>title 2</li> 
</ul>
<h2>Source B</h2>
<ul>
  <li>title 3</li>
  <li>title 4</li> 
</ul>

Каков наилучший способ сделать это с помощью StringTemplate?

Ответы [ 2 ]

11 голосов
/ 22 марта 2010

Если вы преобразовали их в соответствующие структуры данных - класс Source, имеющий методы getName и getDocuments, и класс Document, имеющий метод getTitle, это будет выглядеть так:

$
sources:
 {
    source|
    <h2>Source $source.name$ </h2>
    $
    source.documents:
     {
      document|
      <li>title $document.title$</li>
     }
    $
 }
$
0 голосов
/ 23 апреля 2012

Есть хороший пост, который может помочь вам понять основы StringTemplate:

Локализуемый текстовый шаблонизатор с использованием StringTemplate 4

...