2010-02-24 3 views
7

StringTemplate 템플릿 엔진을 사용하여 중첩 루프와 비슷한 것을 writting하는 데 관심이 있습니다. C#에서는 각 Key에 Document 개체 목록이 들어있는 HashTable이 있으며 각 문서에는 제목과 원본이 있습니다. 소스별로 문서 제목을 요약 한 전자 메일을 시작으로 나열하고 싶습니다.StringTemplate의 중첩 루프

<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에서이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

답변

11

당신은 적절한 데이터 구조에 이러한 변형 한 가정하면 - Source 클래스는 getNamegetDocuments 방법을 가지고, 그리고 Document 클래스 getTitle 방법을 가지고, 그것은 다음과 같이 표시됩니다 멋진 포스트가

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

,하지만 w하지 않습니다 ork for HashTable. –

+1

해시 테이블과 문서 객체의 모습을 보여줄 수 있습니까? 해시 테이블을 사용하면'ht.keys : {k | something}'구문을 사용할 수 있습니다. – viaclectic