Gavin King 的 Java EE 6 愿望清单第二弹:JSF 和 EL 增强

  • Scott Delap
  • 胡键

2007 年 7 月 10 日

话题:Java语言 & 开发

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

Java语言 & 开发