阅读更多

16顶
0踩

企业架构

原创新闻 Apache Wicket 1.5 正式发布

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

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...

  • DeepSeek与AI幻觉-清华大学团队制作

    DeepSeek与AI幻觉-清华大学团队制作 一、什么是AI幻觉 (定义与基础概念) 二、DeepSeek为什么会产生幻觉 (聚焦特定AI模型的幻觉成因分析) 三、AI幻觉评测 (评估AI幻觉的频率、类型与影响的方法) 四、如何减缓AI幻觉 (解决方案与技术优化方向) 五、AI幻觉的创造力价值 (探讨幻觉在创新场景中的潜在益处,如艺术生成、灵感激发等)

  • 协同过滤算法商品推荐系统(源码+数据库+论文+ppt)java开发springboot框架javaweb,可做计算机毕业设计或课程设计

    协同过滤算法商品推荐系统(源码+数据库+论文+ppt)java开发springboot框架javaweb,可做计算机毕业设计或课程设计 【功能需求】 前台用户可以实现注册登录、商品浏览,在线客服,加入购物车,加入收藏,下单购买,个人信息管理,收货信息管理,收藏管理,评论功能。 后台管理员可以进行用户管理、商品分类管理、商品信息管理、订单评价管理、系统管理、订单管理。 【环境需要】 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.数据库:MySql 5.7/8.0等版本均可; 【购买须知】 本源码项目经过严格的调试,项目已确保无误,可直接用于课程实训或毕业设计提交。里面都有配套的运行环境软件,讲解视频,部署视频教程,一应俱全,可以自己按照教程导入运行。附有论文参考,使学习者能够快速掌握系统设计和实现的核心技术。

  • MES系统数字化工厂解决方案.pptx

    MES系统数字化工厂解决方案.pptx

  • MUI调用照片以及裁剪和图库照片上传到服务器

    MUI调用照片以及裁剪和图库照片上传到服务器

  • ChatGPT付费创作系统V3.1.3独立版 WEB端+H5端+小程序端 (新增DeepSeek高级通道+新的推理输出格式)

    GPT付费体验系统最新版系统是一款基于ThinkPHP框架开发的AI问答小程序, 是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。这是一种基于人工智能技术的问答系统, 可以实现智能回答用户提出的问题。相比传统的问答系统,ChatGPT可以更加准确地理解用户的意图, 提供更加精准的答案。同时系统采用了最新的GPT3.5接口与GPT4模型,同时还支持型,文心一言,腾讯混元, 讯飞星火,通义千问,DeepSeeK,智普等等国内各种大模型,可以更好地适应不同的应用场景,支持站点无限多开, 可以说ChatGPT付费创作系统目前国内相对体验比较好的一款的ChatGPT及多接口软件系统。 新增接入DeepSeek-R1、DeepSeek-V3(Ollama自部署和第三方均支持)、高级通道增加DeepSeek、 支持AI接口输出的reasoning_content字段(新的推理输出格式)、更新模型库、修复导出Excel的bug等功能, 优化了云灵Midjourney接口,出图更快更稳定。小程序端变化不大该系统版本测试下来比较完美, 老版本升级时数据库结构同步下,同时把原来

  • 基于java的美食点餐管理平台设计的详细项目实例(含完整的程序,GUI设计和代码详解)

    内容概要:本文档详细介绍了一款基于Java技术的美食点餐管理平台的设计与实现。该平台旨在优化传统餐饮行业的服务流程,通过智能化的点餐系统、高效的订单处理、智能库存管理和数据分析等功能,为用户提供便捷高效的点餐体验,并提升餐厅管理效率和服务质量。系统涵盖了前端设计、后端开发、数据库设计等方面,采用了成熟的Java技术和现代Web开发框架,如Spring Boot、Vue.js或React,确保系统的高效性和稳定性。此外,文档还包括详细的用户界面设计、模块实现以及系统部署指南,帮助开发者理解和搭建该平台。 适合人群:具备一定的Java编程基础和技术经验的研发人员、IT从业者以及有意开发类似系统的企业和个人。 使用场景及目标:①为餐厅提供一个集点餐、订单处理、库存管理于一体的高效平台;②优化传统餐饮服务流程,提升客户服务体验;③利用大数据分析辅助决策,助力餐饮企业精细化运营;④通过集成多种支付方式和其他外部系统,满足多样化的商业需求。 其他说明:本项目不仅提供了完整的技术方案和支持文档,还针对实际应用场景提出了多个扩展方向和技术优化思路,旨在引导用户不断迭代和完善该平台的功能和性能。

  • 相场模拟与激光制造技术:选择性激光烧结、激光融覆中的凝固与枝晶生长研究,相场模拟与激光制造技术:选择性激光烧结、激光融覆及凝固过程中的枝晶生长研究,相场模拟 选择性激光烧结 激光融覆 凝固 枝晶生长

    相场模拟与激光制造技术:选择性激光烧结、激光融覆中的凝固与枝晶生长研究,相场模拟与激光制造技术:选择性激光烧结、激光融覆及凝固过程中的枝晶生长研究,相场模拟 选择性激光烧结 激光融覆 凝固 枝晶生长 ,相场模拟; 选择性激光烧结; 激光融覆; 凝固; 枝晶生长,相场模拟与激光工艺:枝晶生长的凝固过程研究

Global site tag (gtag.js) - Google Analytics