Ответ 1
Вы должны использовать следующий синтаксис:
<ul>
$orders: {order|
<li>Order $order.OrderId$</li>
}$
</ul>
Документацию об этой функции очень сложно найти, я нашел здесь здесь (поиск символа трубы).
Я только начал использовать StringTemplate в своем проекте С#. Я просмотрел документацию, но я не могу найти способ реализовать этот простой сценарий:
У меня есть список простых бизнес-объектов (пусть говорят Orders), и я хочу, чтобы они отображались внутри тега UL внутри моего html-шаблона.
Итак, мой .st шаблон выглядит так (псевдокод):
<html> some text <ul>[Order template]<li>[Order name here]</li>[/Order template]</ul></html>
и я хочу, чтобы мой вывод был:
<html> some text <ul><li>Order 1</li><li>Order 2</li>...</ul></html>
Я не могу понять, как сделать эту работу с помощью StringTemplate. Любые идеи?
Вы должны использовать следующий синтаксис:
<ul>
$orders: {order|
<li>Order $order.OrderId$</li>
}$
</ul>
Документацию об этой функции очень сложно найти, я нашел здесь здесь (поиск символа трубы).
Это работает и для меня. Если вы вызываете StringTemplate из Antlr как StringTemplateGroup, синтаксис немного отличается. Замените $с помощью < > .
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>;
}
}>
}
>>