2

Apache Wicket では、コードからリンクの繰り返しリストを作成したいと考えています。次のような html の結果を得るには、テンプレートがどうあるべきかわかりません。

<li><a href="whatevenrlink1">link1</a></li>
<li><a href="whatevenrlink2">link2</a></li>
<li><a href="whatevenrlink3">link3</a></li>
4

3 に答える 3

9

多くのテストの後、これは私にとってはうまくいきました。HTML は次のようになります。

<ul>
  <ui wicket:id="LinkList"><a wicket:id="Link"><span wicket:id="Text"/></a></ui>
</ul>

繰り返しビューのコードは次のようになります。

RepeatingView view = new RepeatingView("LinkList");

add(view);

WebMarkupContainer list = new WebMarkupContainer(view.newChildId());
ExternalLink externalLink = new ExternalLink("Link", "http://www.google.com");
externalLink.add(new Label("Text","Google"));
list.add(externalLink);

view.add(list);
于 2012-12-23T16:58:03.957 に答える
2

ListView を使用して、コードからリンクの繰り返しリストを作成できます。ListView は、リストの表示/操作を簡単にするリピーターです。ListView は ListItem の子を保持します。一度に 1 つずつ、または一度に複数のアイテムを並べ替えたり、削除したりできます。

例:

<tbody>
   <tr wicket:id="rows" class="even">
     <td><span wicket:id="id">Test ID</span></td>
     ...

この例は HTML テーブルに関するものですが、ListView は HTML テーブルに限定されるものではありません。ListView を使用して、あらゆる種類のリストをレンダリングできます。

関連する Java コード:

 add(new ListView<UserDetails>("rows", listData)
 {
    public void populateItem(final ListItem<UserDetails> item)
    {
            final UserDetails user = item.getModelObject();
            item.add(new Link("id", user.getId()));
    }
 });

listData には、すべてのリンクの ID が含まれています。

于 2012-12-27T12:51:06.963 に答える
0

この種のものを実装する方法には多くの選択肢がありますが、それらはすべて何らかのリピータを使用しています。

この多くの例については、ウィケット リピーターの例を参照してください。

于 2012-12-23T17:03:42.993 に答える