一、 contrib:PopupLink 組件:
Html 模板代碼:
<h1> PopopLink組件: </h1><p>
作用:彈出一個自定義的窗口,相當(dāng)于一個 Script語名:
<br> window.open(URL, windowName, windowFeatures) <br>
1.必須在Body組件內(nèi)使用。 <br>
2.注意href參數(shù)它會產(chǎn)生一個地址“/context/href參數(shù)值”
<p> <span jwcid = "@contrib:PopupLink" href = "/WEB-INF/Home.html" features = 'ognl:"resizable,scrollbars,top=100,left=100,height=400,width=300"' > PopupLink到主頁 </span>
二、 GenericLinkLink 組件
Html 模板代碼:
1.GenericLink:一般作用是用來鏈接跳轉(zhuǎn)到應(yīng)用程序范圍以外的鏈接。注意OGNL用法: <br>
<a jwcid = "@GenericLink" href = "ognl:'http://'+url" >
<span jwcid = "@Image" image = "ognl:assets.ms" /> 163主頁 </a><p>
url參數(shù):
private String url="http://m.tkk7.com/happydavy/";
ms參數(shù):
<context-asset name="ms" path="http://MS.JPG"/>
作用:點擊后就會到 163頁面。
三、 .ExternalLink 組件
Html 模板代碼:
<span jwcid = "@ExternalLink" page = "LinkResult" parameters = 'ognl:new java.lang.Object[]{new java.lang.Integer("5"),new java.lang.String("rjzjh")}' >
ExternalLink使用 </span><p>
ExternalLink :這組件比 GenericLink 組件復(fù)雜,使用 Tapestry 的 9 種 Service 的 “external service” ,它的用法關(guān)注 LinkResult 頁。
鏈接傳遞參數(shù) parameters ,多個參數(shù)用逗號隔開。鏈接的頁面 “LinkResult” 必須實現(xiàn) IExternalPage 接口,必須重寫 activateExternalPage 方法
在這個方法中我們可以把傳遞過來的參數(shù)取出來實現(xiàn)我們的邏輯。參數(shù)因為單引號內(nèi)有雙引號,所以不能用雙引號,也可以調(diào)回來用了,鏈接頁的地址為: http://localhost:8080/context/app?service=external/LinkResult&sp=5&sp=Srjzjh
接收參數(shù)的頁面要:
? 實現(xiàn) IexternalPage 接口。
? 覆蓋 public void activateExternalPage(Object[] parameters, IRequestCycle cycle) 方法。
如下 Java 文件為:
public void activateExternalPage(Object[] parameters, IRequestCycle cycle) {
this.setPar1((Integer)parameters[0]);
if(parameters.length==2){
this.setPar2((String)parameters[1]);
}
}
三、 DirectLink 組件
Html 模板為:
<p><span jwcid = "@DirectLink" listener = "ognl:listeners.directlistener" parameters = 'ognl:new java.lang.Object[]{new java.lang.Integer("8"),new java.lang.String("zjh")}' >
這是一個DirectLink鏈接
</span><br>
<span jwcid = "@DirectLink" listener = "ognl:listeners.DirectResult" parameters = 'ognl:new java.lang.Object[]{new java.lang.Integer("8"),new java.lang.String("zjh")}' >
第二個DirectLink,跳轉(zhuǎn)到LinkResult頁面
</span>
<br> DirectLink要傳的參數(shù)是:
<span jwcid = "@Insert" value = "ognl:Directpar1" /> 和 <span jwcid = "@Insert" value = "ognl:Directpar2" /><p>
第一個組件接收參數(shù)方法(監(jiān)聽事件):
public void directlistener(IRequestCycle cycle){
Object[] par=cycle.getServiceParameters();
this.setDirectpar1((Integer)par[0]);
this.setDirectpar2((String)par[1]);
}
第二個組件接收參數(shù)方法(在跳轉(zhuǎn)的頁面中寫監(jiān)聽事件):
1 .先跳轉(zhuǎn)到另一個頁面:
public void DirectResult(IRequestCycle cycle){
IPage result=cycle.getPage("LinkResult");
cycle.activate(result);
}
2 .這時參數(shù)也會隨 Session 傳到 LinkResult 頁面,在 LinkResult 頁面中寫監(jiān)聽事件。
public void getpar(IRequestCycle cycle) {
Object[] par=cycle.getServiceParameters();
this.setDirectpar2((String)par[1]);
this.setDirectpar1((Integer)par[0]);
}
posted on 2005-12-27 17:51
我的java天地 閱讀(873)
評論(0) 編輯 收藏