JSF2.0 的一些新特性:
� 为了更好的支持 Ajax,扩大了请求处理生命期。
� 将“树结构的生成”和“树结构的使用”分成两个独立的生命期阶段。
� 允许部分树在生命期内通过 Ajax 来访问集合
� 允许可标记的 JSF 页面。更广泛的说,如果 HTTP GET 可以使用,该 JSF 页面就可以使用。
� 更合适的客户端之间和内部组件,表单级的验证(如果可以使用 JSR303 验证)
� 对绑定和分发与某个组件相关静态资源的良好支持,包括:图片、样式表、脚本等。也应该
能指定资源的默认位置。
� 对标准 html 组件的策略性补充:日期选择其,树、标签浏览、文件上传控件。
� 提供某种机制,以尽量减少“丢失更新”和“复制按钮按下”的问题。这些机制必须是插件形式
或可由用户定制。
� 页面动作:是指“当页面加载时,调用这些动作(如果有必要的话,可以通过 Ajax)”。
� 提供一种机制,使得访问持久存储变得容易。
�
一 简化托管 Bean 的配置
受托管 Bean 采用 Annotation 标注
Html 代码
1. <h:inputText value="#{login.name}"/>
之前代码
1. <managed-bean>
2. <managed-bean-name>login</managed-bean>
3. <managed-bean-class>com.corejsf.Login</managed-bean>
4. <managed-bean-scope>session</managed-bean-scope>
5. </managed-bean>
现在代码
1. @ManagedBean @SessionScoped
2. public class Login { ... }
按照约定,托管 bean 的名称与类名相同,类名的第一个字母被转换为小写。也可以使用 ManagedBean
注释的 name 属性显式地指定一个托管 bean,比如:@ManagedBean(name = "place")。
对 mapService 和 webService 托管 bean 使用 eager 属性。当 eager 属性为 true 时,JSF
将在启动时创建托管 bean 并将其放入应用程序范围。
也可以使用 @ManagedProperty 注释设置托管 bean 属性。
从 faces-config.xml 中移除托管 bean 声明将极大地减少 XML,但是在 JSF 2 中,通过使用注释
或是约定(比如 JSF 2 的简化的导航处理),几乎可以去掉所有的 XML 内容。