多個提交按鈕。源碼以下:html
MultipleSubmits1.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.MultipleSubmits2.SearchType;
public class MultipleSubmits1 {
@Property
private String name;
@InjectPage
private MultipleSubmits2 page2;
private SearchType searchType;
void onActivate() {
searchType = SearchType.CUSTOMERS;
}
void onSelectedFromSuppliers() {
searchType = SearchType.SUPPLIERS;
}
Object onSuccess() {
page2.set(searchType, name);
return page2;
}
}
MultipleSubmits1.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="search" style="border: medium solid gray">
<t:errors/>
<table>
<tr>
<td>名字:</td>
<td><input t:type="TextField" t:id="name" t:validate="required, maxlength=10" size="10"/></td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="Search Customers"/>
<input t:type="Submit" t:id="suppliers" value="Search Suppliers"/>
</td>
</tr>
</table>
</form>
</html>
MultipleSubmits2apache
/**
* 項目名稱:TapestryStart
* 開發模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 編寫:飛風
* 時間:2012-02-29
*/
package com.tapestry.app.pages;
public class MultipleSubmits2 {
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 name) {
this.searchType = searchType;
this.name = name;
}
public String getYourSearch() {
if (searchType == SearchType.CUSTOMERS) {
return "你選擇 Customers 名字 \"" + name + "\".";
}
else {
return "你選擇 Suppliers 名字 \"" + name + "\".";
}
}
}
MultipleSubmits2.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}
</html>
http://localhost/multipleSubmit/MultipleSubmits1