第3章 深入使用课件

上传人:我*** 文档编号:139292420 上传时间:2020-07-21 格式:PPTX 页数:41 大小:657.88KB
返回 下载 相关 举报
第3章 深入使用课件_第1页
第1页 / 共41页
第3章 深入使用课件_第2页
第2页 / 共41页
第3章 深入使用课件_第3页
第3页 / 共41页
第3章 深入使用课件_第4页
第4页 / 共41页
第3章 深入使用课件_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《第3章 深入使用课件》由会员分享,可在线阅读,更多相关《第3章 深入使用课件(41页珍藏版)》请在金锄头文库上搜索。

1、经典Java EE课程,段鹏松,第3章 深入使用JSF,了解JSF的事件机制 掌握JSF 的国际化文件配置 掌握JSF的类型转换 掌握JSF的校验器用法,课程目标,目 录,JSF事件机制 JSF的国际化支持 使用转换器完成类型转换 自定义转换器 使用验证器进行输入校验 自定义校验器,JSF事件机制概述,JSF本质上是基于MVC框架,它不再是传统的基于请求/响应的MVC框架。 JSF的UI组件可以激发事件,开发者负责为这些事件实现监听器,并将这些监听器绑定到UI组件上即可。 JSF不仅可以采用托管Bean的方法来处理事件,也可以采用专门的监听器类来处理事件。,Java事件模型,实现事件监听器是整

2、个事件处理的核心,JSF事件模型,和Java事件模型基本相同,由三部分组成 事件源:所有UI组件 事件对象:执行动作时创建的对象 事件监听器:用托管Bean或专门的事件监听器对象,JSF事件类的用法,JSF事件机制则采用自定义标签、配置文件的方式来注册事件监听器。 JSF事件机制和Java事件机制的一个显著区别: Java需要单独的监听器类,JSF只要方法签名就行 为了向UI组件注册事件监听器,JSF提供了如下自定义标签: ,JSF中事件的分类,Action事件 javax.faces.event.ActionEvent 实际操作演示 值改变事件 javax.faces.event.Value

3、ChangeEvent 实际操作演示 生命周期事件 javax.faces.event.PhaseEvent 三种注册方式 实际操作演示,Jsf事件小结,Action事件、ValueChange事件、Phase事件均有两种配置方式: 在UI标签中直接配置,在托管bean中定义相应的执行方法 使用标签配置,使用type属性连接到相应的监听器类,将监听器绑定到Bean属性,将监听器绑定到Bean属性与将UI组件本身绑定到Bean属性的功能基本相似,它们都需要定义一个组件属性来代表监听器、UI组件本身。 本质还是定义监听器类。 实际操作演示,目 录,JSF事件机制 JSF的国际化支持 使用转换器完成

4、类型转换 自定义转换器 使用验证器进行输入校验 自定义校验器,JSF提供的国际化支持,静态内容国际化 错误消息国际化 动态数据国际化,加载国际化资源文件,JSF同样允许使用两种国际化资源文件 使用*.properties国际化资源文件 使用*.class类文件作为国际化资源文件 JSF提供了两种加载国际化资源文件方法 在face-config.xml文件的元素中用子元素注册 在JSF页面中使用标签来加载国际化资源文件,使用国际化资源文件,通过值表达式访问资源文件中的Key,来使用国际化文件资源。 格式: #国际化文件别名.key。 JSF还允许通过指定使用何种locale来呈现页面。,动态数据

5、国际化,是指对服务器端对象所加载数据的国际化。 最常见的情形就是让托管Bean加载国际化资源文件。 ResourceBundle类的使用。 实际操作演示,代码示例,/使用ResourceBundle来加载国际化消息资源 ResourceBundle rb = ResourceBundle.getBundle( global , fc.getViewRoot().getLocale(); ec.getSessionMap().put(tip“ , rb.getString(wrong);,让用户选择语言,通过下拉菜单让用户选择语言 实际操作演示,代码示例(后台方式), JSP Page ,pub

6、lic void choose(ValueChangeEvent vce) /将用户选择的值作为当前locale,例如: en_US this.locale = (String)vce.getNewValue(); String ss = this.locale.split(_); Locale chooseLocale = new Locale(ss0,ss1); FacesContext.getCurrentInstance().getViewRoot().setLocale(chooseLocale); ,目 录,JSF事件机制 JSF的国际化支持 使用转换器完成类型转换 自定义转换器

7、使用验证器进行输入校验 自定义校验器,类型转换器概述,由浏览器传送的数据基本上都是字符串,而Java应用程序本身基本上则是对象,所以对象数据必须转换后传送给浏览器,而浏览器送来的数据也必须转换为对象才能使用。,浏览器 字符串,后台处理 各种类型,转换,类型转换器的分类,转换器(Converter)协助模型与视图之间的数据转换。 标准(内置)转换器 自动类型转换 自定义转换器 用户手动定义转换器,使用自动类型转换器,使用方式 自动使用(当把组件的值或组件本身绑定到托管Bean的属性时) 通过专用标签使用 实际操作演示 自动转换成功 转换失败后的错误信息, UserBean.java packag

8、e com.tata; import java.util.Date; public class UserBean private Date date = new Date(); public Date getDate() return date; public void setDate(Date date) this.date = date; ,使用自动类型转换器, index.jsp 转换器示范 设定的日期是: ,JSF转换失败后的错误提示,错误消息可来自3个方面 来自JSF为内置转换器、校验器提供的默认消息。 来自开发者通过自定义消息资源文件提供的错误消息。 来自各UI组件标签的conve

9、rterMessage属性指定的错误消息。 开发者可根据需要修改为自己想要的信息,目 录,JSF事件机制 JSF的国际化支持 使用转换器完成类型转换 自定义转换器 使用验证器进行输入校验 自定义校验器,自定义类型转换器,实现类型转换器类 实现Converter接口 注册转换器 在faces-config.xml中注册 使用自定义转换器 使用标签 通过UI组件的converter属性来引用 绑定到Bean属性的转换器 实际操作演示,转换器代码示例,转换器注册,全局转换 使用时需引入,演示界面,目 录,JSF事件机制 JSF的国际化支持 使用转换器完成类型转换 自定义转换器 使用验证器进行输入校验

10、 自定义校验器,校验器概述,对异常输入的过滤,就是输入校验。 输入校验是所有Web应用必须处理的问题。 从逻辑上Web校验的分类 客户端校验 服务端校验,JSF中校验器的分类,校验器(Validator)的分类 标准验证器 自定义验证器 标准校验器即JSF内置的校验器,标准输入校验,当应用程序要求用户输入数据时,必然要验证输入数据的正确性。必要的两种验证是: 语法检验(Syntax Validation):检查用户输入的数据是否合乎我们所要求的格式。(包括:是否填入了值,或值的长度、大小是否符合要求等等。) 语意检验(Semantic Validation):在语法检验之后,进一步验证输入的数

11、据语意上是否正确。(例如检查使用者的名称与密码是否匹配。),标准输入校验, index.jsp 验证器示范 请输入您的名称 名称: 密码: ,必填校验器,required requiredMessage,目 录,JSF事件机制 JSF的国际化支持 使用转换器完成类型转换 自定义转换器 使用验证器进行输入校验 自定义校验器,自定义校验器,自定义验证器要实现javax.faces.validator.Validator接口,并实现该接口中的validate()方法。 如果验证错误,则抛出一个ValidatorException。 示例:实现一个简单的密码验证器,检查字符长度,以及密码中是否包括字符与数字。,自定义校验器,开发自定义校验器 注册校验器 使用自定义校验器 为自定义校验器开发专用标签,使用托管Bean的方法执行校验,对于JSF内置校验器不支持的校验需求,除了可以通过自定义输入校验器来进行校验之外,还可以直接使用托管Bean的校验方法来执行校验。,绑定到Bean属性的校验器,通过标签,本章小结,JSF的深入理解 JSF的深入应用,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号