Подтвердить что ты не робот

StringTemplate - Как перебирать список бизнес-объектов и выводить простой html?

Я только начал использовать 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. Любые идеи?

4b9b3361

Ответ 1

Вы должны использовать следующий синтаксис:

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

Документацию об этой функции очень сложно найти, я нашел здесь здесь (поиск символа трубы).

Ответ 2

Это работает и для меня. Если вы вызываете 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>;
}
}>
}

>>