我有兴趣使用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实现此目的的最佳方法是什么?
答案 0 :(得分:11)
假设您已将这些转换为适当的数据结构 - Source
类包含getName
和getDocuments
方法,Document
类包含getTitle
方法,它看起来像这样:
$
sources:
{
source|
<h2>Source $source.name$ </h2>
$
source.documents:
{
document|
<li>title $document.title$</li>
}
$
}
$
答案 1 :(得分:0)
有一篇很好的文章可以帮助您理解StringTemplate的基础知识: