JSF 2.0核心技术:Facelets, Conversion与Validation

需积分: 4 14 下载量 98 浏览量 更新于2024-10-13 收藏 12.5MB PDF 举报
"Core JSF 2.0 是一本关于JavaServer Faces (JSF) 2.0核心概念和技术的书籍,提供了丰富的示例代码和实践经验,适合需要学习或提升JSF技能的开发者阅读。" 在JSF 2.0中,Facelets是默认的视图层技术,用于创建用户界面。Facelets允许开发人员使用XML语法定义页面布局,并可以通过组件库(如PrimeFaces或RichFaces)增强功能。例如,`page.xhtml`是一个典型的Facelets页面,其中可能包含`<h:inputText>`标签来创建文本字段,以及`<h:commandButton>`来定义按钮。这些组件与后台的 Managed Bean(如`SampleBean.java`)交互,处理用户输入并更新模型。 `SampleBean.java`可能是用来管理页面逻辑的Java类,它包含了处理请求的方法,如`getContinueOutcome`。当用户点击按钮时,这个方法会被调用,可能会根据业务逻辑决定跳转到哪个页面。如果在`faces-config.xml`中配置了outcome映射,那么成功或错误页面(如`success.xhtml`或`error.xhtml`)可以被指定为响应特定的请求。如果没有配置映射,系统通常会默认显示`success.xhtml`或`error.xhtml`页面。 JSF支持处理GET请求。在处理请求时,请求参数可以设置Managed Bean的属性。例如,当用户提交表单时,`page.xhtml`中的请求参数可以自动绑定到`SampleBean`的属性,使得在渲染页面之前,这些值就已经被设置好。 在页面中,可以使用`<h:selectOneRadio>`来创建单选按钮组,如`page.xhtml`所示。每个选项可以关联到一个bean属性,对应的值可能是从`Condiment.java`这样的类中获取的。JSF提供了内置的转换机制,比如在显示数字时,可以自动添加货币符号和分组逗号,如"$1,000.00"。 验证是JSF中的关键特性,它利用JSR 303(Bean Validation框架)实现。可以在页面级别和组件级别进行验证,确保用户输入的数据符合预定义的规则。如果数据无效,JSF会显示错误消息。例如,可以在`page.xhtml`中定义验证规则,并在`SampleBean.java`中定义对应的校验注解。 资源管理是JSF的另一部分,它允许开发人员轻松地引入CSS、JavaScript和其他静态资源。在`page.xhtml`中,可以使用`<h:outputStylesheet>`引用`resources/css/styles.css`这样的外部样式表,以改善页面的视觉效果。 JSF 2.0提供了一个完整的MVC框架,用于构建动态的、数据驱动的Web应用程序。它包括了页面布局、用户交互、数据绑定、转换、验证、资源管理等多个方面,是企业级Java Web开发的重要工具。通过深入学习Core JSF 2.0,开发者可以更好地理解和应用这些技术。