`
pengsuyun
  • 浏览: 14910 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

wicket 学习之WicketFIlter中监听初始化

阅读更多
    在WicketFilter初始化的时候,会调用webApplication.initializeComponents()完成组建监听的初始化工作。在wicket1.4.13版本中,实际上掉用了两个类的init方法:
   1、org.apache.wicket.Initializer
   2、org.apache.wicket.extensions.Initializer
这里以org.apache.wicket.Initializer为例介绍监听的初始化工作。
   首先来看看init中的代码:
IBehaviorListener.INTERFACE.register();
IFormSubmitListener.INTERFACE.register();
ILinkListener.INTERFACE.register();
IOnChangeListener.INTERFACE.register();
IRedirectListener.INTERFACE.register();
IResourceListener.INTERFACE.register();
IActivePageBehaviorListener.INTERFACE.register();
    以IBehaviorListener.INTERFACE.register();为例,其中INTERFACE维护了org.apache.wicket.RequestListenerInterface对象,register()方法将IBehaviorListener监听器注册到RequestListenerInterface的interfaces中。
    监听原理说明:
    每个监听接口中都维护了org.apache.wicket.RequestListenerInterface对象,这个对象被设计成静态最终常量,所以在类加载的时候,就被初始化了。API中关于这个类的解释是:Base class for request listener interfaces.这个类在wicket的监听机制中至关重要。为什么重要呢?第一、RequestListenerInterface中维护了一个Map<String, RequestListenerInterface> interfaces,在这个interfaces中保存了所有应用初始化过程中注册的监听器,在wicket的request中会用来完成组建注册监听工作;第二、RequestListenerInterface提供了监听器的回调,这个地方其实是调用了组建上的方法(与监听器同名的方法)(这点很重要,监听程序我认为就是为组建服务的。);第三、RequestListenerInterface中提供了newRequestTarget方法,用来绑定页面,组建,监听。通过RequestListenerInterface,wicket在处理页面请求的时候,完成监听的操作。
     下面提供了一些相关的类,供参考:
org.apache.wicket.Initializer :Initializer for components in wicket core library.
org.apache.wicket.IRequestListener :Base interface for all interfaces that listen for requests from the client browser.
org.apache.wicket.RequestListenerInterface :Base class for request listener interfaces.
org.apache.wicket.IRequestTarget :A request target is the base entity that is the subject of a request.
org.apache.wicket.request.target.component.IPageRequestTarget :Request target that denotes a page instance.
org.apache.wicket.request.target.component.PageRequestTargetefault implementation of { IPageRequestTarget}. Target that denotes a page instance.
org.apache.wicket.request.target.component.listener.AbstractListenerInterfaceRequestTarget:
Target that denotes a page instance and a call to a component on that page using an listener interface method.
org.apache.wicket.request.target.component.listener.BehaviorRequestTarget :Target that denotes a page instance and a call to a component on that page using an listener
org.apache.wicket.RequestCycle :Represents the processing of a request.

   


分享到:
评论

相关推荐

    实战wicket学习总结

    在近3年的wicket项目时间后的总结,包括有很多wicket的代码规范,及注意事项。

    wicket国际化例子

    wicket国际化例子 含有wicket:message StringResourceModel 等读取properties资源文件的代码示例

    wicket文档

    wicket学习文档

    wicket1.4.7中的jar包

    从wicket官网中下载的wicket1.4.7中jar包,对于编写wicket相关的程序有所需要的朋友可以下载

    wicket学习

    wicket学习的简介,有大概得描述和一些简单的例子

    Wicket 8.X开发文档(中文翻译+英文原版)

    初始化阶段 7.4。渲染阶段 7.5。删除阶段 7.6。独立舞台 7.7。摘要 8.页面版本控制和缓存 8.1。有状态页面与无状态页面 8.2。有状态页面 8.3。无状态页面 8.4。摘要 9.在请求处理的引擎盖下 9.1。类应用和请求处理 ...

    apache-wicket

    Wicket has been around since 2004 and it has been an Apache project since 2007. During these years it has proved to be a solid and valuable solution for building enterprise web applications. Wicket ...

    wicket7教程

    wicket7的使用教程,免去后端程序员编写javascript的烦恼,很实用的教程!

    wicket 开发指南 doc

    wicket 开发指南 比较全面的介绍wicket的使用

    wicket1,4.17中除了jar包和example外的部分

    wicket1,4.17中除了jar包和example外的部分,分为3部分上传的原因是本人的上传容量限制为20M,该部分包括api帮助文档和源码等

    wicket指南

    wicket开发指南,wicket 新型的web开发框架,现以能无逢支持jsr168/286

    Wicket开发指南.pdf

    Wicket开发指南 Wicket开发指南 Wicket开发指南

    wicket例子和开发指南

    wicket例子和开发指南,指南为PDF文档,例子为wicket自带例子。

    Wicket.pdf(Wicket开发指南)

    Wicket,有一个优秀的Web框架。和Struts和Webwork类似的Java WEB开发框架。优点在于对HTML和业务代码进行了有效的分离(流行的WEB框架大多如此)。基于规则的配置(有效减少了XML配置文件的使用,与Spring相比,...

    wicket 学习文档

    Wicket 是什么?简单点说,它是一个基于Java 的Web 开发框架,与Struts,WebWork, Tapestry 相类似。其特点在于对Html 和代码进行了有效的分离(有利于程序员和美工的合 作),基于规则的配置(减少了XML 等配置...

    wicket 基础知识培训

    wicket 基础知识培训,主要是讲解wicket入门知识,通过和struts比较来进行讲解。

    wicket 6.x api.chm wicket帮助文档

    wicket 6.x api.chm wicket帮助文档

    wicket的tree的简单实例

    这是继wicket的简单实例之后,关于tree的简单用法,初学者可以下载下来学习如何生成树,以及树的使用

    wicket_mvn库

    wicket编译所需的maven库,搬运

    Wicket 入门

    Wicket 入门,以及Eclipse里建立project

Global site tag (gtag.js) - Google Analytics