北方站长站
客服热线:0632-5117766

Tapestry组件使用总结

[2008-04-22 00:00:00] 作者:Northz.com 来源:北方站长站

Tags:←

  

    *disabled参数 公有参数,disabled=true时,链接不可用CTj北方站长站

    A) GenericLink 组件CTj北方站长站
    e.g.CTj北方站长站
    <a href="http://www.baidu.com" jwcid="@GenericLink">百度</a>CTj北方站长站
    用于跳转到应用程序范围以外的链接CTj北方站长站

    B) ExternalLink 组件CTj北方站长站
    e.g.CTj北方站长站
    <a href="" jwcid="@ExternalLink" page="LogDetails" parameters="ognl:new java.lang.Object[]{item.id}">CTj北方站长站
      <span jwcid="@Insert" value="ognl:item.name">日志名称</span>CTj北方站长站
    </a>CTj北方站长站
    带参数的页面跳转,不涉及session,使用service=externalCTj北方站长站
    *parameters属性,用以传递数组类型的参数(Object[]{})CTj北方站长站
    *page参数表示所要跳转到的页面类(LogDetails页面类)CTj北方站长站
    使用ExternalLink时,所要跳转到的页面类必须继承IExternalPage接口,并实现一个方法.CTj北方站长站
    Java代码 复制代码CTj北方站长站

       1. LogDetails.javaCTj北方站长站
       2. public abstract class LogDetails extends BasePage implements IExternalPage {CTj北方站长站
       3.CTj北方站长站
       4.   ......CTj北方站长站
       5.CTj北方站长站
       6. public void activateExternalPage(Object[] parameters,  IRequestCycle cycle){CTj北方站长站
       7. this.setLogId((Integer) parameters[0]); //获取传递进来的参数并执行所需操作CTj北方站长站
       8. }CTj北方站长站
       9. }CTj北方站长站

    LogDetails.javaCTj北方站长站
    public abstract class LogDetails extends BasePage implements IExternalPage {CTj北方站长站

      ......CTj北方站长站

    public void activateExternalPage(Object[] parameters,  IRequestCycle cycle){CTj北方站长站
    this.setLogId((Integer) parameters[0]); //获取传递进来的参数并执行所需操作CTj北方站长站
    }CTj北方站长站
    }CTj北方站长站

CTj北方站长站
    IRequestCycle类型的参数cycle表示当前访问该页面的requestCycleCTj北方站长站

    C) PageLink 组件CTj北方站长站
    e.g.CTj北方站长站
    <a href="" jwcid="@PageLink" page="UserInfo">个人设置</a>CTj北方站长站
    相当于不带参数的ExternalLink组件,不过使用的是service=pageCTj北方站长站

    D) DirectLink 组件CTj北方站长站
    e.g.CTj北方站长站
    <a jwcid="@DirectLink" listener="listener:logSelect" parameters="item.id">CTj北方站长站
      <span jwcid="@Insert" value="ognl:item.name">日志名称</span>CTj北方站长站
    </a>CTj北方站长站
    Java代码 复制代码CTj北方站长站

       1. Log.javaCTj北方站长站
       2. public IPage logSelect(Integer id){CTj北方站长站
       3. LogDetails logDetails = getLogDetails();CTj北方站长站
       4. logDetails.setLogId(id);CTj北方站长站
       5. return logDetails;CTj北方站长站
       6. }CTj北方站长站

    Log.javaCTj北方站长站
    public IPage logSelect(Integer id){CTj北方站长站
    LogDetails logDetails = getLogDetails();CTj北方站长站
    logDetails.setLogId(id);CTj北方站长站
    return logDetails;CTj北方站长站
    }CTj北方站长站

CTj北方站长站
    DirectLink组件表现为一个HTML<a>元素,用来提供一个URL,当用户点击时,触发页面中一个特定的监听方法.使用service=directCTj北方站长站
    涉及session,DirectLink拥有一个boolean类型的stateful参数来选择stateful或stateless,该参数默认为true,即stateful.CTj北方站长站
    DirectLink通过listener监听方法将参数“扔”给下一个页面,这与ExternalLink的实现IExternalPage接口以及activateExternalPage方法接收参数不同.CTj北方站长站
    关于DirectLink使用session的示例:CTj北方站长站
    <a jwcid="@DirectLink" listener="listener:logSelect" parameters="ognl:new java.lang.Object[]{item.id}">CTj北方站长站
    Java代码 复制代码CTj北方站长站

       1. Log.javaCTj北方站长站
       2. public IPage logSelect(IRequestCycle cycle){CTj北方站长站
       3. IPage logDetails = cycle.getPage("LogDetails");CTj北方站长站
       4. cycle.activate(logDetails);CTj北方站长站
       5. }CTj北方站长站

    Log.javaCTj北方站长站
    public IPage logSelect(IRequestCycle cycle){CTj北方站长站
    IPage logDetails = cycle.getPage("LogDetails");CTj北方站长站
    cycle.activate(logDetails);CTj北方站长站
    }CTj北方站长站

CTj北方站长站
    Java代码 复制代码CTj北方站长站

       1. LogDetails.javaCTj北方站长站
       2. public void beginResponse(IMarkupWriter writer, IRequestCycle cycle) {CTj北方站长站
       3. Object[] logObj = cycle.getListenerParameters();CTj北方站长站
       4. int logId = ((Integer)logObj[0]).intValue();CTj北方站长站
       5. ...CTj北方站长站
       6. }CTj北方站长站

    LogDetails.javaCTj北方站长站
    public void beginResponse(IMarkupWriter writer, IRequestCycle cycle) {CTj北方站长站
    Object[] logObj = cycle.getListenerParameters();CTj北方站长站
    int logId = ((Integer)logObj[0]).intValue();CTj北方站长站
    ...CTj北方站长站
    }CTj北方站长站

CTj北方站长站
    先跳转到另一个页面,然后可以在该页面中获取传递过来的参数,因为参数随session传递过来了.CTj北方站长站

    E) ActionLink 组件CTj北方站长站
    e.g.CTj北方站长站
    具体不了解,也么用过,听说这个组件在T5里面已经变了样了,以后再学习CTj北方站长站

    F) ServiceLink 组件CTj北方站长站
    e.g.CTj北方站长站
    <a jwcid="@ServiceLink" service="literal:restart">退出</a>CTj北方站长站
    听说ServiceLink组件可以使用Tapestry的9种服务,不过不知道如何使用,目前初入Tapestry,尚未涉及.CTj北方站长站

CTj北方站长站

 

News

 

info

 

down

出售手机裁听器,手机跟踪定位系统    企业网站,网城,购物网,都市导购,校园网    网上书店系统    上海电信机房服务器托管,双线主机托管    美女图片馆    15G 高清晰图片资源 无水印    室内装潢材料新产品杰威尔艺术漆    收一万ip的美女图片    大量收购个人网址导航网站    出售网址站PR=4alexa=119,764    

下一篇链接:java调用oracle存储过程

上一篇链接:构建可扩展的Java图表组件

评论】 【打印】 【加入收藏】 【关闭→论坛 →博客 →数据中心

 共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面