cdi 2.7.5
很高兴看到JavaServer Faces 2.3发行版在上周完成。
当JSF 2.0推出时,我很快就跳入了基于组件的UI方法进行软件开发,推广框架并撰写了许多有关JSF,Ajax和Facelets开发的文章。 但是经过几个项目之后,我的热情减弱了,无奈取代了倡导。 我很快就脱离了潮流,但话虽如此,但我希望了解JSF 2.3发行版中的新增功能,因此急切地回过头来。
CDI和JSF 2.3
我对最初的2.0版本最大的不满之一是Java EE CDI规范与JSF使用的依赖项注入之间缺乏一致性。 我想这完全是一个事实,即JSF需要能够在不提供CDI支持的Web容器中运行,从而迫使JSF 2.0的原始版本提供了它自己的可注入托管Bean集,但是它创建了尽管如此,仍然存在混乱,特别是考虑到早在2009年或2010年,开发人员就在努力掌握CDI本身。 名称相似但行为相似的CDI和JSF批注的冲突并没有造成混乱。 但是,查看JSF 2.3的新增功能,不仅可以确保最终实现CDI对齐,还可以保证。 对于精通使用上下文和依赖项注入的组织而言,这将使采用JSF 2.3变得容易得多。
JSF 2.3中还有哪些新功能?
除了CDI对齐之外,JSF 2.3的新增功能还包括支持异步编程的各种功能,这使开发人员无需在没有内置JSF 2.0 Ajax支持的情况下开发应用程序时也能忍受JSF漫长的页面加载时间。 Websocket支持将使那些幸运地能够从事允许使用它的项目的开发人员快速实现UI渲染的闪电,并提供弥合客户端JavaScript世界与JSF服务器端组件模型之间鸿沟的附加功能。
新的JSF 2.3 API增强了对Ajax的支持
在JavaScript支持方面,新的JSF 2.3标记commandScript将HTML元素中引用的客户端JavaScript方法映射到服务器端的相应方法,并且触发交互的事件完全基于Ajax。 这是对规范的非常欢迎的补充。 此外,还添加了在Ajax甚至完成后在客户端运行各种脚本调用的功能。 当使用有助于实现响应式设计JavaScript框架时,这样做的需求似乎无所不在,因此开发人员想出了各种临时方法来做到这一点。 很高兴看到JSF 2.3减轻了JavaScript的麻烦,并标准化了基于Ajax的方法。
Arjan Tijms 的博客很棒 ,它比实际的规范文档本身更能洞悉JSF 2.3的新功能,因此,如果您正在寻求组件基础,服务器端UI Web框架的市场,我强烈建议您这样做与CID配合使用,与Ajax配合良好,并且与JavaScript配合良好。 交付JSR-371的团队,包括规范负责人Edward Burns和Manfred Riem ,都表现出色。
您可以在Twitter上关注Cameron McKenzie: @cameronmcnz
cdi 2.7.5