第十六講:tapestry數據循環顯示loop與grid組件

tapestry提供了2種經常使用的數據循環顯示:loop組件與grid組件,二者沒多大區別,loop組件沒有提供分頁,使用比較靈活,gird組件提供了分頁功能,相反本身定義方面沒那麼靈活,但提供了字段排序的功能。此例子寫的比較複雜,由於以前不知道怎麼使用loop組件顯示string[]數組,所以把例子寫下來便於之後查看,其實很簡單的首先要把string[]轉變成List<String>再使用loop組件顯示。源碼以下:html

DataList.javajava

/**
* 項目名稱:TapestryStart
* 開發模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 編寫:飛風
* 時間:2012-02-29
*/
package com.tapestry.app.pages;
 
import java.util.ArrayList;
import java.util.List;
 
import org.apache.tapestry5.annotations.Property;
 
public class DataList {
 
@Property
private String nameOne;
 
@Property
private String nameTwo;
 
@Property
private String[] nameOnes;
 
@Property
private String[] nameTwos;
 
@Property
private List<String> oneLists;
 
@Property
private List<String> twoLists;
 
void setupRender(){
String oneString = "張三/李四/王五/";
nameOnes = oneString.split("/");
oneLists = new ArrayList<String>();
for(String str:nameOnes){
oneLists.add(str);
}
 
String twoString = "劉備/張飛/關於/";
nameTwos = twoString.split("/");
twoLists = new ArrayList<String>();
for(String str2:nameTwos){
twoLists.add(str2);
}
}
}
 

DataList.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">
 name<br/>
<t:loop source="oneLists" value="nameOne">
${nameOne}<br/>
</t:loop>
<t:grid source="twoLists" add="name" row="nameTwo">
<p:NameCell>
${nameTwo}<br/>
</p:NameCell>
</t:grid>
</html>

http://localhost/loop/datalist
相關文章
相關標籤/搜索