第二十講:tapestry多表單(forms)

源碼以下:html

MultipleForms1.javajava

/**
* 項目名稱:TapestryStart
* 開發模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 編寫:飛風
* 時間:2012-02-29
*/
package com.tapestry.app.pages;
 
import org.apache.tapestry5.annotations.InjectPage;
import org.apache.tapestry5.annotations.Property;
 
import com.tapestry.app.pages.MultipleForms2.SearchType;
 
public class MultipleForms1 {
@Property
private String customerName;
 
@Property
private String supplierName;
 
@InjectPage
private MultipleForms2 page2;
 
void onPrepareFromSearchCustomers() {
//可初始化Customers表單元素
}
 
void onPrepareFromSearchSuppliers() {
//可初始化Suppliers表單元素
}
 
Object onSuccessFromSearchCustomers() {
page2.set(SearchType.CUSTOMERS, customerName);
return page2;
}
 
Object onSuccessFromSearchSuppliers() {
page2.set(SearchType.SUPPLIERS, supplierName);
return page2;
}
}
 

MultipleForms1.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">
 
<form t:type="form" t:id="searchcustomers" style="border: medium solid gray">
<t:errors/>
Customer Name: 
<input t:type="TextField" t:id="customerName" t:validate="required, maxlength=10" size="10"/> 
<input type="submit" value="Search Customers"/>
  </form><br/>
 
<form t:type="form" t:id="searchsuppliers" style="border: medium solid gray">
<t:errors/>
Supplier Name: 
<input t:type="TextField" t:id="supplierName" t:validate="required, maxlength=10" size="10"/> 
<input type="submit" value="Search Suppliers"/>
  </form><br/>
</html>

MultipleForms2.javaapache

/**
* 項目名稱:TapestryStart
* 開發模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 編寫:飛風
* 時間:2012-02-29
*/
package com.tapestry.app.pages;
 
public class MultipleForms2 {
private SearchType searchType;
 
private String name;
 
public enum SearchType {
CUSTOMERS, SUPPLIERS;
}
 
public void set(SearchType searchType, String lastName) {
this.searchType = searchType;
this.name = lastName;
}
 
 
Object[] onPassivate() {
return new Object[] { searchType, name };
}
 
void onActivate(SearchType searchType, String lastName) {
this.searchType = searchType;
this.name = lastName;
}
 
public String getYourSearch() {
if (searchType == SearchType.CUSTOMERS) {
return "你選擇  Customers 名字爲: \"" + name + "\".";
}
else {
return "你選擇  Suppliers 名字爲: \"" + name + "\".";
}
}
}
 

MultipleForms2.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">
${yourSearch}<br/><br/>
<a t:type="pagelink" t:page="MultipleForms1" href="#">返回</a>
</html>

http://localhost/multipleForm/MultipleForms1
相關文章
相關標籤/搜索