ListViewを使うことで、複数の要素を簡単に出力させることが出来ます。
html
<table> <tbody> <tr> <td>ユーザー名</td> </tr> <tr wicket:id="list"> <td><span wicket:id="name"></span></td> </tr> </tbody> </table>
java
ArrayList<String> list = new ArrayList<String>(); list.add("ユーザー1"); list.add("ユーザー2"); list.add("ユーザー3"); ListView<String> listView = new ListView<String>("list", list) { @Override protected void populateItem(ListItem<String> item) { String name = item.getModelObject(); item.add(new Label("name", name)); } };
上のコードではList
populateItemではラベルにアイテムを入れています。複数行のテーブルを作る際には 例えばUserを使って
protected void populateItem(ListItem<User> item) { User user = item.getModelObject(); item.add(new Label("name", user.getName())); item.add(new Label("age", user.getAge())); }
nameとageのidのラベルに値を入れて、年齢と名前のテーブルを作成します