源碼以下: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