Wicket的DataView如何使用?

use*_*129 2 html java wicket

我有一个Wicket页面,我需要在屏幕上打印我的记录.我将记录保存在我的数据库中.我怎么能这样做DataView?我需要代码示例.

Sea*_*oyd 5

这个页面上有一个古老的例子:

https://cwiki.apache.org/WICKET/a-simple-dataview-example.html

它仍然大部分都是有效的,唯一改变的是当前版本的wicket支持泛型.所以这是该页面的更新代码源:

Java代码:

public class Sub1Page extends WebPage{

    private static final long serialVersionUID = 1L;

    public Sub1Page(){

        Contact contact = null;
        final List<Contact> list = new ArrayList<Contact>();

        char character;

        // a - z
        for(int i = 97; i < 123; i++){
            character = (char) i;
            contact = new Contact(String.valueOf(character));
            list.add(contact);
        }

        final DataView<Contact> dataView =
            new DataView<Contact>("simple", new ListDataProvider<Contact>(list)){

                private static final long serialVersionUID = 1L;

                @Override
                public void populateItem(final Item<Contact> item){
                    final Contact user = item.getModelObject();
                    item.add(new Label("id", user.getId()));
                }
            };

        dataView.setItemsPerPage(10);

        add(dataView);

        add(new PagingNavigator("navigator", dataView));
    }

}
Run Code Online (Sandbox Code Playgroud)

HTML代码(未更改):

<wicket:extend>

<table cellspacing="0" class="dataview">
    <tbody>
       <tr wicket:id="simple">
         <td><span wicket:id="id">Test ID</span></td>
       </tr>
    </tbody>
</table>

<div wicket:id="navigator"></div>

</wicket:extend>
Run Code Online (Sandbox Code Playgroud)