Wicket & ActiveObjects連携

試してみました。
userテーブル(d:id:nattou_curry_2:20081010:1223588747参照)からユーザ情報を全件検索して、テーブルに表示します。

結果画面

データ

mysql> select * from user;
+---------+--------------+--------------------+
| user_id | name         | user_mail          |
+---------+--------------+--------------------+
| user_01 | 納豆カレー   | nattou@aaa.bbb.ccc |
| user_02 | nattou_curry | curry@aaa.bbb.ccc  |
+---------+--------------+--------------------+
2 rows in set (0.00 sec)

ソース

HelloWorld.html

        <table cellspacing="0" border="1">
            <tbody>
               <tr wicket:id="simple">
                 <td><span wicket:id="user_id">Test ID</span></td>
                 <td><span wicket:id="name">Test ID</span></td>
                 <td><span wicket:id="user_mail">Test ID</span></td>
               </tr>
            </tbody>
        </table>

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

HelloWorld.java

package example;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;

import net.java.ao.*;
import net.java.ao.db.*;
import java.util.Arrays;

import java.util.List;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
import org.apache.wicket.markup.repeater.data.ListDataProvider;

public class HelloWorld extends WebPage
{
        /**
         * Constructor
         */
        public HelloWorld() throws Exception
        {
                //add(new Label("message", "Hello World!"));


                Class.forName("com.mysql.jdbc.Driver");
                        EntityManager manager = new EntityManager(
                        new MySQLDatabaseProvider(
                        "jdbc:mysql://192.168.1.19:3306/ao",
                        "root", "root"));

                List list = Arrays.asList( manager.find( User.class ) );

                final DataView dataView = new DataView("simple", new ListDataProvider(
                                list)) {
                        public void populateItem(final Item item) {
                                final User user = (User) item.getModelObject();
                                item.add(new Label("user_id", user.getUser_id()));
                                item.add(new Label("name", user.getName()));
                                item.add(new Label("user_mail", user.getUser_mail()));
                        }
                };

                dataView.setItemsPerPage(10);

                add(dataView);

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

        }
}

HelloWorldApplication.java

package example;

import org.apache.wicket.protocol.http.WebApplication;

public class HelloWorldApplication extends WebApplication
{
    /**
     * Constructor.
     */
    public HelloWorldApplication()
    {

    }

    /**
     * @see org.apache.wicket.Application#getHomePage()
     */
    public Class getHomePage()
    {
        return HelloWorld.class;
    }
}