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

本文介绍了一个使用Tapestry框架实现页面间不同类型变量传递的例子。通过Translators1和Translators2两个页面展示如何将Integer、Long、Double及String类型的值从一个页面传递到另一个页面。

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

Translators1.java

/**
* 项目名称: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;
 
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
* 版本: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

转载于:https://my.oschina.net/shootercn/blog/53673

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值