第十七讲:tapestry 不同类型的变量在页面之间值的传递

页面之间传递值,以前已经讲过,这里不一样的是变量的类型不一样了,具体看源码吧:

Translators1.java

/**
* 项目名称:TapestryStart
* 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 网址: http://www.flywind.org
* 版本:1.0
* 编写:飞风
* 时间:2012-02-29
*/
package com.tapestry.app.pages;
 
import org.apache.tapestry5.annotations.InjectPage;
import org.apache.tapestry5.annotations.Property;
 
public class Translators1 {
@Property
private Integer integerField;
 
@Property
private Long longField;
 
@Property
private Double doubleField;
 
@Property
private String stringField;
 
// Other pages
 
@InjectPage
private Translators2 page2;
 
// The code
 
Object onSuccess() {
page2.set(integerField, longField, doubleField, stringField);
return page2;
}
}
 

Translators1.tml

<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="inputs">
<t:errors/>
<table>
<tr>
<td>Integer类型.</td>
<td><t:label for="integerField"/></td>
<td><input t:type="TextField" t:id="integerField" t:value="integerField"/></td>
</tr>
<tr>
<td>Long类型.</td>
<td><t:label for="longField"/></td>
<td><input t:type="TextField" t:id="longField" t:value="longField"/></td>
</tr>
<tr>
<td>Double类型.</td>
<td><t:label for="doubleField"/></td>
<td><input t:type="TextField" t:id="doubleField"/></td>
</tr>
<tr>
<td>String类型.</td>
<td><t:label for="stringField"/></td>
<td><input t:type="TextField" t:id="stringField" t:value="stringField"/></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" value="传递"/></td>
</tr>
</table>
</form>
</html>

Translators2.java

/**
* 项目名称:TapestryStart
* 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 网址: http://www.flywind.org
* 版本:1.0
* 编写:飞风
* 时间:2012-02-29
*/
package com.tapestry.app.pages;
 
import org.apache.tapestry5.annotations.Property;
 
public class Translators2 {
@Property(write = false)
private Integer integerField;
 
@Property(write = false)
private Long longField;
 
@Property(write = false)
private Double doubleField;
 
@Property(write = false)
private String stringField;
 
 
public void set(Integer integerField, Long longField, Double doubleField, String stringField) {
this.integerField = integerField;
this.longField = longField;
this.doubleField = doubleField;
this.stringField = stringField;
}
 
Object[] onPassivate() {
return new Object[] { integerField, longField, doubleField, stringField };
}
 
void onActivate(Integer integerField, Long longField, Double doubleField, String stringField) {
this.integerField = integerField;
this.longField = longField;
this.doubleField = doubleField;
this.stringField = stringField;
}
}
 

Translators2.tml

<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">
<table>
<tr>
<td>integer类型:</td><td>${integerField}</td>
</tr>
<tr>
<td>long类型:</td><td>${longField}</td>
</tr>
<tr>
<td>double类型:</td><td>${doubleField}</td>
</tr>
<tr>
<td>string类型:</td><td>${stringField}</td>
</tr>
</table>
</html>

http://localhost/passValue/Translators1

你可能感兴趣的:(第十七讲:tapestry 不同类型的变量在页面之间值的传递)