tapestry中使用iframe(和frame不同)

1. iframe所引用的页面类实现IExternalPage接口

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

public ILinkRenderer getIframeRenderer() {       
 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、付费专栏及课程。

余额充值