StringTemplate中的嵌套循环

7

我希望使用StringTemplate模板引擎编写类似于嵌套循环的内容。 在C#中,有一个HashTable,其中每个Key包含Document对象列表,每个Document都有标题和来源。我想在电子邮件开头列出每个来源的文档标题摘要。

<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

假设您已将它们转换为适当的数据结构-- Source类有getNamegetDocuments方法,Document类有getTitle方法,代码如下:

$
sources:
 {
    source|
    <h2>Source $source.name$ </h2>
    $
    source.documents:
     {
      document|
      <li>title $document.title$</li>
     }
    $
 }
$

这是一个适用于一般对象的好答案,但不适用于哈希表。 - Benjamin Ortuzar
1
你能展示一下你的哈希表和文档对象长什么样子吗?使用哈希表时,你可以使用 ht.keys:{k|something} 语法。 - Marat Salikhov

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接