欢迎来到davy的java世界
爱生活,爱java
posts - 8,  comments - 6,  trackbacks - 0

一、 contrib:PopupLink 组件:

Html 模板代码:

<h1> PopopLink组件: </h1><p>

作用:弹出一个自定义的窗口,相当于一个 Script语名:

<br> window.open(URL, windowName, windowFeatures) <br>

1.必须在Body组件内使用。 <br>

2.注意href参数它会产生一个地址“/context/href参数值”

<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:一般作用是用来链接跳转到应用程序范围以外的链接。注意OGNL用法: <br>

<a jwcid = "@GenericLink" href = "ognl:'http://'+url" >

<span jwcid = "@Image" image = "ognl:assets.ms" /> 163主页 </a><p>

url参数:

private String url="http://www.blogjava.net/happydavy/";

ms参数:

<context-asset name="ms" path="//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 组件复杂,使用 Tapestry 的 9 种 Service 的 “external service” ,它的用法关注 LinkResult 页。

链接传递参数 parameters ,多个参数用逗号隔开。链接的页面 “LinkResult” 必须实现 IExternalPage 接口,必须重写 activateExternalPage 方法
在这个方法中我们可以把传递过来的参数取出来实现我们的逻辑。参数因为单引号内有双引号,所以不能用双引号,也可以调回来用了,链接页的地址为: http://localhost:8080/context/app?service=external/LinkResult&sp=5&sp=Srjzjh

接收参数的页面要:

?  实现 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,跳转到LinkResult页面

</span>

<br> DirectLink要传的参数是:

<span jwcid = "@Insert" value = "ognl:Directpar1" /> 和 <span jwcid = "@Insert" value = "ognl:Directpar2" /><p>

第一个组件接收参数方法(监听事件):

public void directlistener(IRequestCycle cycle){

Object[] par=cycle.getServiceParameters();

this.setDirectpar1((Integer)par[0]);

this.setDirectpar2((String)par[1]);

}

第二个组件接收参数方法(在跳转的页面中写监听事件):

1 .先跳转到另一个页面:

public void DirectResult(IRequestCycle cycle){

IPage result=cycle.getPage("LinkResult");

cycle.activate(result);

}

2 .这时参数也会随 Session 传到 LinkResult 页面,在 LinkResult 页面中写监听事件。

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天地 阅读(862) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 

<2005年12月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(1)

随笔分类

随笔档案

文章档案

相册

我的友人们呀

搜索

  •  

最新评论