阅读更多

16顶
0踩

企业架构

原创新闻 Apache Wicket 1.5 正式发布

2011-09-08 09:21 by 正式编辑 hantsy 评论(22) 有10858人浏览

Apache Wicket 团队正式发布了 Apache Wicket 1.5, 一个基于组件的开源 WEB 框架。Apache Wicket 1.5 经过两年的开发,与之前版本相比,带来无数的改进。

下载地址
-----------------------------
http://www.apache.org/dyn/closer.cgi/wicket/1.5.0

如果使用Maven,可以添加下面的代码到 POM 升级到最新版本:

 

<dependency>
    <groupId>org.apache.wicket</groupId>
    <artifactId>wicket-core</artifactId>
    <version>1.5.0</version>
</dependency>
 

值得注意的是,Wicket 的主 artifact ID 更名为 wicket-core。

你必须升级所有的模块(i.e. wicket, wicket-extensions,
wicket-ioc, wicket-spring, etc) 到1.5.0,在使用最新版本,不要混合使用之前的版本。

值得注意的变更
--------------------

这个发布版本中,Wicket 团队对其内部进行了大量的更新。包括:

- 添加了 HTML5 组件: EmailTextField, NumberTextField, UrlTextField and
   RangeTextField

- 全新的组件内事件机制 (下面会解释)

- servlet API 最低版本为 servlet-api 2.5

- 所有的标准的 validators 继承了 Behavior 以便客户端验证

- 删除 IBehavior,AbstractBehavior 标志为过时,现在你应该直接从 Behavior 继承。

- 简化请求生命周期处理,使其更有扩展性

- URL 集中处理

- Wicket’s rendering 代码大大简化

- 改进了浏览器缓存支持

- ClientSideImageMap 代替了旧的 ImageMap

- Better support for running behind proxies with x-forwarded-for header

- Request cycle listeners  使集成框架到你的 Wicket 应用中变得更加简单

-  一致的命名: 方法名的 Javascript 更名为 JavaScript

- 切换到 HTTPS 很简单,只配置一个新的 root mapper,让 Wicket 能够识别 HTTPS,在页面添加  @RequireHttps

更详细的变更和改进包含在升级指南中.

组件内部事件机制
----------------------

Wicket 1.5 offers a simple, yet flexible, way for component to communicate
with each other in a decoupled manner. The two major interfaces that
facilitate this are:

/**
* Objects that can send events
*/
public interface IEventSource {
     void send(IEventSink sink, Broadcast broadcast, T payload);
}

 
and

/**
* Objects that can receive events
*/
public interface IEventSink
{
    /**
     * Called when an event is sent to this sink
     */
    void onEvent(IEvent&gt; event);
}

 
The classes that implement these interfaces, and can thus participate in the
event mechanism are: Component, RequestCycle, Session, and Application.

The mechanism allows for different event broadcast methods defined here:

/**
* Defines the event broadcast type.
*/
public enum Broadcast {
    BREADTH,
    DEPTH,
    BUBBLE,
    EXACT;
}

 
There is an example in wicket-examples which demonstrates the usage of this.

Applications can register custom event dispatchers in FrameworkSettings; the
dispatchers can be used to build custom event delivery mechanisms. For example
a custom IEventDispatcher mechanism can route events to annotated methods, for
example:

public class MyComponent extends Component {
    @OnEvent
    private void onUserAdded(UserAddedEvent event) {...}
}

 
where UserAddedEvent is the event payload object.

The default Component#onEvent method will be called even if custom dispatchers
are registered.

A default event is raised whenever Wicket begins to create an AJAX response.
The payload of the event is the AjaxRequestTarget used for event. Sample
implementation:

 

// component that always adds itself to the ajax response
public class MyComponent extends Component {
    public void onEvent(IEvent event) {
        if (event.getPayload() instanceof AjaxRequestTarget) {
            ((AjaxRequestTarget)event.getPayload()).add(this);
         }
    }
}
16
0
评论 共 22 条 请登录后发表评论
2 楼 189008 2011-09-08 11:37
非常棒的框架,推荐使用。

没有tapestry那么高的学习曲线。

如果你之前写过Swing、SWT、Delphi等桌面应用,上手要比struts之类要快。
1 楼 sohuexe 2011-09-08 10:40
原来用的eventbus也不用了

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Apache Wicket 1.5发布

    本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2011/11/wicket_1_5近日,开源、面向组件的Java Web应用框架Apache Wicket 1.5发布了。主要的变化有:支持4个新的HTML 5组件...

  • apache wicket_教程– Apache Wicket:有趣的Web框架

    apache wicket 选择Java技术堆栈时,不乏多样性。 为了摆脱“滚动自己的[一切]”的想法,以至于许多公司都沦为猎物,而“一切必须成为标准”的哲学,则对每一层都采取了各种各样的方法过去几年中,Java体系结构如...

  • 终于搞定WICKET1.5的在TOMCAT下的filterStart错误

    搞个HELLO WORLD DEMO 就那么麻烦! 从官方网站web.xmlhttp://wicket.apache.org/learn/examples/helloworld.html折腾了1周时间,搞得性情不好. 主要wicket中文开发指南是基于1.20的 而下载的是1.4

  • Wicket 1.5和Tapestry 5比较

    Struts框架一度很流行,现在还有很多开发者使用Struts,因为处理遗留代码和...2.0即将发布,不过本文要讨论的是另外两个基于组件框架:Wicket 1.5和Tapestry 5。  很快,Apache基金会将会发布两个有趣的框架新...

  • Apache Wicket 6发布,支持jQuery

    Apache Wicket发布了开源的6.0.0版本,以及面向Java web应用程序框架的组件。这个版本号让人有点困惑,因为上次发布的是1.5,在使用中,Wicket只是在语义版本上有了一些提升。版本号中的第一位代表公共API上的变化...

  • apache-wicket 学习笔记(一) maven依赖与集成spring

    一) [url=http://wicket.apache.org]官方网站[/url]发布的新消息wicket6.0已经发布了,上一个版本是1.5。可见官方直接升级了主版本号。 [code=&quot;xml&quot;] org.apache.wicket wicket-core 6.0.0 ...

  • Wicket 1.5.3 发布

    Wicket 团队发布了 Wicket 1.5 系列的第三个维护版本,包括 25 个 BUG 修复和 15 处改进。 Subversion tag: http://svn.apache.org/repos/asf/wicket/releases/wicket-1.5.3 变更记录: ...

  • Apache Maven

    绝大部分Maven用户都称Maven是一个"构建工具":一个用来把源代码构建成可发布的构件的工具。 构建工程师和项目经理会说Maven是一个更复杂的东西:一个项目管理工具。那么区别是什么? 像Ant这样的构建工具仅仅是...

  • Web显示层技术评估

    在正式开始之前,先说明一下数据寻址的概念。 数据寻址,意思是数据访问、属性获取等。主要包括两类风格。 (1) OGNL Style http://www.ognl.org/ OGNL (Object Graph Navigation Language)如此著名和深入人心,以...

  • Geoserver Web界面开发

    2012 暑假 山西农业大学  左脑 找了很长时间,都没有合适的资料,还是看官方的开发文档吧。今天针对WEB 用户界面这部分做了一下全文翻译: Geoserver Web用户界面...使用Wicket框架,使程序员就像使用Swing编程

  • java 开发最新教程

    在2007年1月成功地发布了Groovy 1.0之后,下一个主要的里程碑1.5版已经发布。在1.5版中有一些有趣而新颖的地方,我们会在这篇文章中考察这些特性。语言主要增强了对于Java 5特征的支持,包括注解、泛型和枚举,这...

  • Java web层框架,你在用哪个?

    现在java web框架非常多,林林总总,让很多人不知道选择那个好:JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket,他们都是各有千秋,面对各种问题,八仙过海,各显神通。这里就小话一下他们的优缺点。 JSF...

  • ASP技术访问WEB数据库.docx

    ASP技术访问WEB数据库.docx

  • 2010-2019年上市公司排污费数据.xlsx

    2010-2019年上市公司排污费数据 1、时间:2010-2019年 2、来源:上市公司披露BG 3、指标:代码、日期、名称、本期支出 4、范围:417家上市公司 5、相关研究:胡珺,宋献中,王红建.非正式制度、家乡认同与企业环境治理

  • 六轴桌面机械臂上位机与下位机源码解析与实现

    内容概要:本文详细介绍了六轴桌面机械臂的上位机(PC)和下位机(单片机)源码实现及其应用场景。上位机使用Python编写,通过pyserial库进行串口通信,实现了用户交互和指令发送功能;下位机则使用Arduino平台,通过C/C++语言编写代码,实现了机械臂的动作控制。文中不仅展示了基本的通信协议和控制逻辑,还深入探讨了逆运动学计算、PID控制、数据同步等问题,并提供了多个实用的代码片段和调试经验。 适合人群:对机器人技术和嵌入式开发感兴趣的开发者,尤其是有一定编程基础和技术背景的人群。 使用场景及目标:适用于六轴桌面机械臂的开发和调试,帮助读者理解上下位机的协同工作原理,掌握机械臂控制的关键技术,如串口通信、逆运动学、PID调节等。 其他说明:文章强调了实际开发中的注意事项和常见问题,如数据同步、指令校验、运动规划等,并提供了一些优化建议和解决方案。此外,还提到了系统的扩展性和安全性措施,如限位保护和扩展接口的设计。

  • 青藏高原降水水汽来源模拟数据集(1998-2018)

    青藏高原降水的水汽来源及输送机制一直是国际水文气候学界关注的热点问题。由于高原地面观测站数量有限,且分布极不均匀,从而导致降水溯源存在很大不确定性。作者通过引入卫星降水数据来弥补站点观测降水的不足,从而对高原整体降水的水汽来源进行模拟性评估。作者通过1998-2018年间水汽追踪数值模型模拟高原整体降水的水汽来源,模型使用ERA-Interim再分析资料、TRMM卫星降水和GLDAS OAFlux蒸发作为数据驱动,并设置对比实验进行验证,最终生成高原整体降水的水汽来源月尺度数据。数据集内容包括:(1)青藏高原范围;(2)高原1998-2018年逐月降水水汽贡献数据,空间分辨率为1°×1°,单位:mm/mon;(3)高原1998-2018年逐月降水量。数据集存储为.nc、.shp和.xlsx格式,由8个数据文件组成,数据量为55 MB(压缩为1个文件,40.9 MB)。基于该数据集的分析研究成果已发表在《Environmental Research Letters》2020年15卷。Zhang, C. Moisture source assessment and the varying characteristics for the Tibetan Plateau precipitation using TRMM [J]. Environmental Research Letters, 2020, 15(10): 104003.

  • Motorcad设计案例:内转子式永磁同步电机的高功率密度与强大过载能力,电磁场计算解析

    内容概要:本文详细介绍了利用MotorCAD进行32极36槽内转子永磁同步电机的设计过程,涵盖电磁场计算、极槽配合选择、绕组设计、磁钢布局、冷却系统设计等方面。通过分数槽配置、双层短距绕组、V型磁钢布局以及高效的冷却系统,实现了70kW输出、525rpm转速、2.5倍过载能力和高达5kW/kg的功率密度。文中还讨论了具体的参数设置及其背后的物理意义,如极距、绕组因数、磁钢涡流损耗控制等。 适合人群:从事电机设计的专业工程师和技术人员,尤其是对高功率密度和高性能电机感兴趣的读者。 使用场景及目标:适用于电动工程机械等需要短时爆发力的应用场合,旨在提高电机的功率密度和过载能力,同时确保高效稳定运行。 其他说明:文章提供了详细的参数配置代码片段,便于读者理解和复现设计过程。此外,还分享了一些实用的设计经验和优化技巧,如磁钢分段设计、转子冲片造型等。

  • 苏苏源码-python010-python-网络课程在线学习平台.zip

    标题Python网络课程在线学习平台研究AI更换标题第1章引言介绍Python网络课程在线学习平台的研究背景、意义、国内外现状和研究方法。1.1研究背景与意义阐述Python在线学习平台的重要性和研究意义。1.2国内外研究现状概述国内外Python在线学习平台的发展现状。1.3研究方法与论文结构介绍本文的研究方法和整体论文结构。第2章相关理论总结在线学习平台及Python教育的相关理论。2.1在线学习平台概述介绍在线学习平台的基本概念、特点和发展趋势。2.2Python教育理论阐述Python语言教学的理论和方法。2.3技术支持理论讨论构建在线学习平台所需的技术支持理论。第3章Python网络课程在线学习平台设计详细介绍Python网络课程在线学习平台的设计方案。3.1平台功能设计阐述平台的核心功能,如课程管理、用户管理、学习跟踪等。3.2平台架构设计给出平台的整体架构,包括前后端设计、数据库设计等。3.3平台界面设计介绍平台的用户界面设计,强调用户体验和易用性。第4章平台实现与测试详细阐述Python网络课程在线学习平台的实现过程和测试方法。4.1平台实现介绍平台的开发环境、技术栈和实现细节。4.2平台测试对平台进行功能测试、性能测试和安全测试,确保平台稳定可靠。第5章平台应用与效果分析分析Python网络课程在线学习平台在实际应用中的效果。5.1平台应用案例介绍平台在实际教学或培训中的应用案例。5.2效果评估与分析通过数据分析和用户反馈,评估平台的应用效果。第6章结论与展望总结Python网络课程在线学习平台的研究成果,并展望未来发展方向。6.1研究结论概括本文关于Python在线学习平台的研究结论。6.2研究展望提出未来Python在线学习平台的研究方向和发展建议。

  • 西门子S7-1200PLC自定义堆栈FB块实现:先进先出与后进后出功能的数据管理程序

    内容概要:本文详细介绍了为西门子S7-1200 PLC开发的一个自定义堆栈程序。由于S7-1200未提供内置堆栈功能,作者使用SCL(Structured Control Language)编写了一个通用型堆栈功能块(FB),能够实现FIFO(先进先出)和LIFO(后进先出)的数据管理。该堆栈程序支持多种数据类型(如BOOL、REAL、DWORD等),并提供了入栈、出栈、清空等功能。文中还讨论了具体的实现细节,如边界检测、指针管理和环形缓冲区的设计,以及在实际工业环境中的应用效果。 适合人群:从事PLC编程、自动化控制系统开发的技术人员,尤其是熟悉西门子S7-1200系列PLC的工程师。 使用场景及目标:适用于需要临时存储和管理数据的应用场景,如生产线上的配方管理、设备故障回溯、日志记录等。通过自定义堆栈程序,可以提高数据处理效率,减少因缺乏内置堆栈功能而带来的不便。 其他说明:该堆栈程序已在实际生产环境中运行超过三个月,处理了大量数据,表现出良好的稳定性和性能。未来计划进一步优化,如改进为环形缓冲区以提升性能。

Global site tag (gtag.js) - Google Analytics