Я полагаю, что почти каждый веб-API более высокого уровня может помочь вам в этом.
Для Wicket я нашел Повторители :
Повторители - это компоненты, которые могут визуализировать разметку тела несколько раз.Эти компоненты полезны для создания выходных данных, которые традиционно создаются с помощью циклов.
Используя, например, ListView
, вы можете сделать это :
Код:
List list = Arrays.asList(new String[] { "a", "b", "c" });
ListView listview = new ListView("listview", list) {
protected void populateItem(ListItem item) {
item.add(new Label("label", item.getModel()));
}
};
Разметка:
<span wicket:id="listview">
this label is: <span wicket:id="label">label</span><br/>
</span>
В результате в браузере будет отображаться следующее:
<span wicket:id="listview">
this label is: <span wicket:id="label">a</span><br/>
</span><span wicket:id="listview">
this label is: <span wicket:id="label">b</span><br/>
</span><span wicket:id="listview">
this label is: <span wicket:id="label">c</span><br/>
</span>
На этой странице также есть более сложные примеры.
Например, для JSF есть:
<ui:repeat>
, что аналогично forEach
JSTL, на которое указывали другие плакаты. <ui:dataTable>
, что аналогично ListView