思路:使用loop組件循環顯示每條增長的數據,添加用戶使用了pagelink。html
在com.tapestry.app.pages.crud包裏建立UserList.java,在webapp/crud裏建立UserList.tml代碼以下:java
UserList.javaweb
/**
* 項目名稱:TapestryStart
* 開發模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 編寫:飛風
* 時間:2012-02-29
*/
package com.tapestry.app.pages.crud;
import java.util.List;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;
import com.tapestry.app.entities.User;
import com.tapestry.app.services.StartDAO;
public class UserList {
//打開user讀寫
@Property
private User user;
//打開user陣列的讀寫
@Property
private List<User> users;
//導入操做數據庫的服務
@Inject
private StartDAO dao;
//頁面加載時設置渲染
void setupRender(){
//查詢User數據表
StringBuffer sql = new StringBuffer();
sql.append("from User");
users = dao.findWithQuery(sql.toString());
}
}
UserList.tmlsql
<html t:type="layout" title="tapestryStart Index" t:sidebarTitle="Framework Version"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
<style>
.table{border-collapse: collapse; }
.table td,table th{border:1px solid #999; padding:5px;"}
</style>
<t:pagelink page="crud/UserCreate">添加用戶</t:pagelink><br/><br/>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table">
<tr>
<th scope="col">id</th>
<th scope="col">用戶名</th>
<th scope="col">年齡</th>
<th scope="col">時間</th>
<th scope="col">操做</th>
</tr>
<tr t:type="loop" t:source="users" t:value="user">
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.time}</td>
<td>${user.id}</td>
<td></td>
</tr>
</table>
</html>
修改下UserCreate.java與UserCreate.tml文件,實現添加完成以後,直接跳轉到UserList頁面數據庫
UserCreate.javaapache
/**
* 項目名稱:TapestryStart
* 開發模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 編寫:飛風
* 時間:2012-02-29
*/
package com.tapestry.app.pages.crud;
import java.util.Date;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;
import com.tapestry.app.entities.User;
import com.tapestry.app.services.StartDAO;
public class UserCreate {
@Property
private User user;
//導入服務接口
@Inject
private StartDAO dao;
//初始化user實體
void onPrepare(){
user = new User();
}
//提交表單的時候執行存儲,返回當前頁面
Object onSuccess(){
//若是時間爲空值輸入系統當前時間
if(user.getTime() == null){
user.setTime(new Date());
}
dao.create(user);
return UserList.class;
}
}
UserCreate.tmlapp
<html t:type="layout" title="tapestryStart Index" t:sidebarTitle="Framework Version"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
<t:form>
<t:errors/>
<p>用戶名:<t:textfield t:id="name" value="user.name" t:validate="required"/></p>
<p>年齡:<t:textfield t:id="age" value="user.age" t:validate="required"/></p>
<p><input type="submit" value="建立"/><t:pagelink page="crud/UserList">返回查看頁面</t:pagelink></p>
</t:form>
</html>
查看http://localhost/crud/userlist已經實現了數據的查詢。webapp