第十講:tapestry經過地址欄傳值@PageActivationContext

tapestry經過地址欄傳值經常使用的有:經過組件的context傳值、經過activate(),passivate傳值、經過@PageActivationContext傳值。@PageActivationContext等同於activate(),passivate。代碼以下:html

 

ActivationContext.javajava

/**
* 項目名稱:TapestryStart
* 開發模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 編寫:飛風
* 時間:2012-02-29
*/
package com.tapestry.app.pages;
 
import org.apache.tapestry5.annotations.PageActivationContext;
import org.apache.tapestry5.annotations.Property;
 
public class ActivationContext {
 
@Property
private String strOne;
 
//傳遞strOne到瀏覽器地址欄
String onPassivate(){
return strOne;
}
 
//從地址欄中得到strOne值,注意:當傳遞的值是中文是會被轉碼,因此看不到中文。
//當作檢索的時候想經過地址欄傳遞查詢變量時,可以使用ajax不刷新查看中文。
void onActivate(String strOne){
this.strOne = strOne;
}
 
//@PageActivationContext是onPassivate()與onActivate()2個函數的封裝。
//使用@PageActivationContext就不用在寫onPassivate()與onActivate()了
//跟@Property相似。
@Property
@PageActivationContext
private String strTwo;
}
 

ActivationContext.tmlajax

<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">
<a t:type="pagelink" t:page="ActivationContext" t:context="literal:5">把5傳遞到ActivationContext頁面</a><br/><br/><br/>
<t:form t:id="form1">
<input t:type="textfield" t:id="strOne" value="strOne"/>
<input type="submit" value="傳遞strOne值"/>
</t:form>
<t:form t:id="form2">
<input t:type="textfield" t:id="strTwo" value="strTwo"/>
<input type="submit" value="傳遞strTwo值"/>
</t:form>
</html>

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