2009-05-11 10 views
12

C# projemde StringTemplate kullanmaya başladım. Dokümantasyondan geçtim, ancak bu basit senaryoyu uygulamak için bir yol bulamıyorum:StringTemplate - İş nesneleri listesi ve çıktı basit html ile nasıl yinelenir?

Basit ticari nesnelerin bir listesi var (Siparişler olsun) ve bunların içinde bir UL etiketinin içinde görüntülenmesini istiyorum. html şablonu.

<html> some text <ul>[Order template]<li>[Order name here]</li>[/Order template]</ul></html>

ve benim çıkış olmak istiyorum:

Yani, benim .st şablon bu (sözde kod) benziyor

<html> some text <ul><li>Order 1</li><li>Order 2</li>...</ul></html>

ben rakam olamaz StringTemplate kullanarak bu iş nasıl yapılır. Herhangi bir fikir? (Boru sembolü aramak |)

<ul> 
    $orders: {order| 
     <li>Order $order.OrderId$</li> 
    }$ 
</ul> 

Bu özellik hakkında belgeler bulmak gerçekten zor, ben biraz bilgi here bulundu:

+0

size yardımcı olabilir güzel bir post vardır: [Localizable metin şablonu motoru StringTemplate 4 kullanılarak] (http://netmvc.blogspot.com/2012/04/localizable-text-template-engine-using_23. html) – Malkov

cevap

27

şu biçim kullanmalısınız.

+0

Teşekkürler efendim, bu benim problemimi çözdü. –

+0

Rica ederim :) –

0

Bu benim için de geçerli. StringTemplate'ı bir StringTemplateGroup olarak Antlr'den çağırıyorsanız, sözdizimi biraz farklıdır. < ile değiştirin>.

group DTO; 

assign1(m, attributes) ::= << 
package demo; 
import java.io.Serializable; 

public class <m> implements Serializable { 
    public <m>() { 
     super(); 
    } 

<attributes : {attribute | 
protected <attribute.type> <attribute.name>; 

public <attribute.type> get<attribute.name>() { 
    return <attribute.name>; 
} 

public void set<attribute.name>(<attribute.type> <attribute.name>) { 
    this.<attribute.name> = <attribute.name>; 
} 
}> 
} 

>> 
+0

Örneğin: "attribute.type", "Type" sınıfının karmaşık bir nesnesini döndürürse nasıl çalıştırabilirim? "Attribute.type" öğesinin "typeName" özelliğine sahip bir Object "Type" döndürdüğü aynı şeyi uygulamaya çalışıyorum. TypeName'i alamıyorum. Lütfen yardım et !! – AnirbanDebnath