打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
wicket学习之ComponentAPI释义

Component是Wciket中所有component的最高级抽象。具有如下特性:

关于component id:所有的组建都需要有一个非空的Id,供getId()方法调用,在MarkupContainer 容器中,这样的ID需要具备唯一性,

在页面层次和全局的层面,ID没有要求唯一。

关于继承:一个组建通过调用getParent()方法可以得到他的父组建,如果一个组件是MarkupContainer的实例,他可以含有子组件。

通过这样的方式,在页面维护的组建链上,可以包含很多组建。

关于组建路径:在页面中(页面作为继承链的根),组建的路径由一些简单的点分隔级联路径构成。例如:“a.b.c”表示了a组建位于b组建中,

b组建位于c组建中。组建的路径可以通过调用getPath()得到,这样得到的路径是一个绝对路径,以page的id号开头。所有的页面在session中的

pagemap中有一个Id,所以在组建的绝对路径中会包含这么一个页面的id。如果要获得组建的相对路径可以调用getPageRelativePath()。

关于生命周期:组建由下面几个周期过程:

1、Construction:组建通过java 的new 关键字构建,如果组建是MarkupContainer的一个实例,通常还会调用add()方法,添加childcomponet

2、Request Handling:请求处理,wicket中通过wicketFilter处理用户的请求。wicket使用application,session,request,response

处理组建,更新组建model,返回页面。application,session,request,response这一系列对象,保存在RequestCycle中,

通过getRequest(), getResponse() and getSession()调用。

3、Listener Invocation:监听调用,如果组建上注册了监听器,在求情处理的过程中,监听器会被调用,监听器允许用户处理相应事件。

尽管wicket中可以指定任意的监听器,监听器可以通过继承监听器类,或者implements监听接口实现。但是这种方法不建议使用。

相反的,监听器是通过逻辑事件来路由的,通过从写监听器的方法,调用用户的代码。

4、onBeginRequest:The onBeginRequest() method is called.

5、Form Submit:如果组建是FormComponent,并且组建被提交,组建通过调用FormComponent.validate()来验证组建model的有效性。

6、Form Model Update:If a valid Form has been submitted and the Component is a FormComponent, the component's model is updated by a call to FormComponent.updateModel().

7、Rendering:组建通过调用render()方法,返回请求结果。

8、onEndRequest () - The onEndRequest() method is called.

关于组建model:组建主要的职责是,使用model(通过setDefaultModel(IModel model)设置,getDefaultModel()获取)在适当的页面标记语言中,呈现返回结构。

另外,表单组建知道基于用户的输入更新组建的model。在IModel 接口中,提供了更实际的两个方法,调用model数据,

getDefaultModelObject()和getDefaultModelObjectAsString()。

关于可见性:组建通过setVisible方法(值来源于方法isVisible)指定组建在返回中可见性。

关于Page :通过调用getPage方法可以获得组建所在的页面引用,如果组建没在一个页面中,抛出IllegalStateException。一个等效的方法findPage

,可以指定特定的环境,查找组建所在的页面,没有则返回null。

关于会话:组建所在的会话,通过getSession获得。

关于Locale:getLocal获得

关于String Resources:通过应用的Localizer,组建可以拥有字符资源。通过getString(String key) and getString(String key, IModel model)

在组建中能够方便的访问资源。

关于样式:getStyle获取组建的样式。

关于变化(Variation ):不清楚

关于属性修改(AttributeModifiers ):如果你需要在程序中维护与组建对应的标记,你可以添加AttributeModifiers来修改标记的属性。

关于Application, ApplicationSettings and ApplicationPages:

The getApplication() method provides convenient access to the Application for a Component via getSession().getApplication().

The getApplicationSettings() method is equivalent to getApplication().getSettings().

The getApplicationPages is equivalent to getApplication().getPages().

关Feedback Messages:在组建中提供了与feedBack相关的一些方法:debug(String), info(String), warn(String), error(java.io.Serializable) and fatal(String)

关于Versioning :通过setVersioned()方法指定组建知否需要版本控制。

关于ajax支持:Components can be re-rendered after the whole Page has been rendered at least once by calling doRender().

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
A First Look at the Wicket Framework
在2014年中针对Java Web框架的8本最好书籍
流行的9个Java框架介绍:优点、缺点等等
Wicket框架整理
为什么主流Java?MVC框架如此难以使用?[Jsp/Servlet]
开发|Springboot简单实现文件上传
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服