Gavin King,Hibernate 的缔造者和 Seam 项目的领导人,已经公布了他对于 Java EE 6 愿望清单的第二和第三部分。今年的早些时候,InfoQ报导了第一部分。上周,Java EE 6(JSR 316)的JSR 大纲已经发布供公众复审。
JSF 是 King 的愿望清单第二部分的关注点,它是 JBoss Seam Web 应用框架的核心组件:
…我是 JSF 的粉丝,虽然 JSF 还很不完美,但是因为我喜欢它的整个架构,并认为它的缺点和限制较其它那些我曾经用过的 Web 框架而言更具“可修复性”。当然,无论我对于其它框架感觉如何,忽略 JSF 都将是愚蠢的。在 Java 领域,JSF 轻易地成为成长最快的 Web 框架…
其中,他认为的 JSF 强项是:
- 应用组件是 POJO
- 对于业务逻辑与视图绑定的应用程序来说,JSF 的生命周期非常适合。
- Managed Bean 是有状态且上下文相关的
- 标记语言并不仅限于 HTML 基本集合
- JSF UI 组件模型解决了影响普通 HTML 窗体处理和很多其它 Web 框架的一些问题
然而,King 也看到了扩展开发的一些问题:
…然而,JSF 1.2 还是有些事情不太对劲,这导致 Facelets、Seam、Shale、Ajax4JSF、ICEFaces、Avatar 等产品需要开发 JSF 的非标准扩展。有人主张,如果你需要使用非标准扩展,那么最好连标准一起避免使用…
基于这点,对于 2.0,他提议以下项目(更多的细节请见原文):
- 异步局部提交和展现
- 基于标注的编程模型
- 增强 non-face 请求的生命周期
- 改进导航规则的协调性
- 错误处理
- Facelet 的标准化,并简化 JSF UI 组件的开发
- 可替换的无状态 UI 组件生命周期
- 数据绑定
- 基于模型的验证
- 允许在消息中使用 EL
- Session 失效
King 的愿望清单第三部分关注于 Unified EL
…JSF 和 JSP 所使用的新 Unified EL API 是对于 Java 平台真正有益的补充。不幸的是,尽管在设计使用 Unified EL 进行工作的 Java API 上付出了许多努力,但是表达式语言本身自 JSP 初期以来并没有太多的变化。现在刚好过了要求新特性的时间。一个更强大的 EL 可以让我们将表现逻辑禁锢在页面中,而避免使用多余的方法污染业务模型…
其中,他提议作以下增强(更多的细节请见原文):
- 方法参数
- Switch 语句
- 集合大小操作符
- 集合构造函数
- 集合迭代
查看英文原文: Gavin King’s Second Wishlist for Java EE 6: JSF and EL Enhancements
评论