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; } }