tapestry中使用iframe(和frame不同)

本文介绍了在Tapestry框架中使用iframe的方法。主要包括:页面类实现IExternalPage接口及activateExternalPage方法;持有iframe的页面类实现getIframeRenderer方法;页面中iframe标记的写法;以及iframe引用页面的实现。

tapestry中使用iframe(和frame不同) 

1. iframe所引用的页面类实现IExternalPage接口和activateExternalPage方法

2. 持有iframe的页面类中实现一个getIframeRenderer方法:

public ILinkRenderer getIframeRenderPage() {
  return new ILinkRenderer() {
   public void renderLink(IMarkupWriter writer, IRequestCycle cycle,
     ILinkComponent linkComponent) {
    writer.begin("iframe");
    Iterator i = linkComponent.getBindingNames().iterator();
    while (i.hasNext()) {
     String name = (String) i.next();
     IBinding b = linkComponent.getBinding(name);
     if (b instanceof LiteralBinding
       && !"src".equalsIgnoreCase(name)
       && !"page".equalsIgnoreCase(name)) {
      writer.attribute(name, b.getObject().toString());
     }
    }
    ILink l = linkComponent.getLink(cycle);
    writer.attribute("src", l.getURL());
    writer.end("iframe");
   }
  };
 }

3. 在持有iframe的页面中赋予iframe标记写法如下:

<iframe src="#" border=2  jwcid="@ExternalLink"   page="Test"   parameters="ognl:'a','b'}"  renderer="ognl:iframeRenderer"></iframe>

4、在 iframe中的页面要实现IExternalPage接口 ,并且必须实现public void activateExternalPage(Object[] parameters, IRequestCycle cycle) {
        // TODO Auto-generated method stub
        
    }方法 这个方法是接收parameters中传过来的参数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值