JSF培训教程知识课件

上传人:youn****329 文档编号:143151214 上传时间:2020-08-26 格式:PPT 页数:50 大小:394KB
返回 下载 相关 举报
JSF培训教程知识课件_第1页
第1页 / 共50页
JSF培训教程知识课件_第2页
第2页 / 共50页
JSF培训教程知识课件_第3页
第3页 / 共50页
JSF培训教程知识课件_第4页
第4页 / 共50页
JSF培训教程知识课件_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《JSF培训教程知识课件》由会员分享,可在线阅读,更多相关《JSF培训教程知识课件(50页珍藏版)》请在金锄头文库上搜索。

1、Java Server Faces,北京京北方科技股份有限公司 2009年3月3日,主要内容,1 JSF简介 2 JSF入门 3 JSF标签 4 JSF数据验证和转换 5 JSF表格 6 JSF与Struts的区别,1 JSF简介,1.1 什么是JSF 1.2 JSF的相关介绍 1.3 JSF示例,1.2 JSF相关介绍-JSF的目标,目标 简化开发 超越现有Web框架 试图在不同的角度上提供网页设计人员、应用程序设计人员、组件开发人员解决方案,让不同技术的人员可以彼此合作又不互相干扰,1.2 JSF相关介绍-JSF 体系结构,JSF 的主要优势之一就是它既是 Java Web 用户界面标准又

2、是严格遵循模型-视图控制器 (MVC) 设计模式的框架。所有与应用程序的用户交互均由一个前端“Faces Servlet(控制器)来处理。,1.2 JSF相关介绍-JSF的优势,UI组件(UI-component) 事件驱动模式 用户界面到业务逻辑的直接映射 程序员和网页设计人员的分工 请求处理生命周期的多阶段划分 全面的用户自定义支持 Web开发的官方标准之一,1.3 JSF示例-第一个JSF程序,现在可以开发一个简单的程序了,我们将设计一个简单的登入程序,使用者送出名称,之后由程序显示使用者名称及欢迎讯息。,JSF示例-index.jsp-网页设计人员, 第一个JSF程序 请输入您的名称

3、名称: ,JSF示例-UserBean.java-程序开发人员,public class UserBean private String name; public void setName(String name) this.name = name; public String getName() return name; ,JSF示例-faces-config.xml-程序开发人员, /pages/index.jsp login /pages/welcome.jsp user net.UserBean session ,JSF示例-welcome.jsp-网页设计人员, 第一个JSF程序 您

4、好! 欢迎使用 JavaServer Faces! ,2 JSF入门-从示例程序中掌握,2.1 JSF 表达式语言(Expression Language) 2.2 托管 Bean(Backing Bean) 2.3 JSF导航,2.1 JSF 表达式语言(EL),搭配 JSF 标签来使用,是用来存取数据对象的一个简易语言。 以#开始,将变量或运算式放置在 与 之间。 #userBean.name EL的变量名也可以程序执行过程中所声明的名称,或是JSF EL预定义的隐含对象。 #param.name 对于Map类型对象,可以使用 . 运算符指定key值来取出对应的value,也可以使用 与

5、来指定。 #paramname #someBean.someMapuser.name 如果变量是List类型或阵列的话,则可以在 中指定索引。 #someBean.someList0,2.2 托管 Bean,JSF 使用 Bean 来达到逻辑层与表现层分离的目的,Bean 的管理集中在配置文件中,只要修改配置文件,就可以修改 Bean 之间的相依关系。 Backing Bean:在真正的业务逻辑Bean及UI组件之间搭起桥梁,在Backing Bean中会呼叫业务逻辑Bean处理使用者的请求,或者是将业务处理结果放置其中,等待UI组件取出当中的值并显示结果给使用者。,托管 Bean,在face

6、s-config.xml中集中管理 作用域: application :一直存活 session :会话过程 request :请求阶段 none :需要时,临时,Beans的配置与设定,Bean的基本定义: 名称 类 存活范围 见JSF示例中Bean的配置 可选设置 属性的初始值 user #user ,2.3 JSF导航-Navigation,在示例配置文件的中,我们定义了页面流程,当请求来自中指定的页面,并且指定了中的为login时,则会将请求导向至所指定的页面。接下来我们扩充程序,让它可以根据使用者输入的名称与密码是否正确,决定要显示欢迎讯息或是将使用者送回原页面进行重新登入。,JSF

7、导航-简单Navigation,首先我们修改一下UserBean中的方法: private String name; private String password; private String errMessage; public String verify() if(!name.equals(justin) | !password.equals(123456) errMessage = 名称或密码错误; return failure; else return success; ,JSF导航-简单Navigation,接下来我们修改一下 faces-config.xml 中的页面流程定义:

8、 /pages/index.jsp success /pages/welcome.jsp failure /pages/index.jsp ,JSF导航-简单Navigation,接下来告诉网页设计人员Bean名称与相关属性,以及决定页面流程的verify名称,我们修改 index.jsp 如下: 请输入您的名称 名称: 密码: ,3 JSF标签,核心标签 标准标签 输出类标签 输入类标签 命令类标签 选择类标签 其他标签,JSF核心标签,view 创建顶层视图 subview 创建视图的子视图 facet 向组件添加facet param 向组件添加参数 attribute 向组件添加属性

9、actionListener 在父组件上注册操作监听器 valueChangeListener 向父组件注册值变更监听器 converter 注册任意转换器 convertDateTime 注册日期时间转换器 convertNumber 注册数量转换器 validateLength 验证组件值的长度 validateDoubleRange 验证组件值的双精度范围 validateLongRange 验证组件值的长整型范围 validator 向组件添加验证器 loadBundle 加载资源包 verbatim 向页面中添加标签 selectItem 指定UISelectOne或UISelect

10、Many组件的一个项目 selectItems 指定UISelectOne或UISelectMany组件的多个项目,JSF标准标签,输出(Outputs) 其名称以output作为开头,作用为输出指定的信息或绑定值。 输入(Inputs) 其名称以input作为开头,其作用为提供使用者输入框。 命令(Commands) 其名称以command作为开头,其作用为提供命令或链接按钮。 选择(Selections) 其名称以select作为开头,其作用为提供使用者选项的选取。 其它 包括了form、message、graphicImage等等未分类的标签。,标准HTML标签的属性,输出类标签,out

11、putLabel 产生 HTML标签,使用for属性指定组件的client ID,例如: outputLink 产生 HTML标签,搭配可帮链结加上参数,所有的参数都会变成 name=value 的类型附加在链接后,value所指定的内容也可以是JSF EL绑定。例如: outputText 简单的显示指定的值或绑定的信息,例如: ,输入类标签,inputText 显示单行输入框,即输出 HTML标签,其type属性设定为text,例如: inputTextarea 显示多行输入文字区域,即输出 HTML标签,例如: inputSecret 显示密码输入框,即输出 HTML标签,其type属性

12、设定为password,例如: inputHidden 隐藏输入框,即输出 HTML标签,其type属性设定为hidden,隐藏输入框的值用于保留一些信息于客户端,以在下一次发送表单时一并提交,例如: ,命令类标签,commandButton 显示一个命令按钮,即输出 HTML标签,其type属性可以设定为button、submit或reset,预设是submit,按下按钮会触发 javax.faces.event. ActionEvent,例如: commandLink 产生超链接,会输出 HTML标签,而href属性会有#,而onclick属性会含有一段JavaScript程序,这个Jav

13、aScript的目的是按下链接后自动提交表单,具体来说其作用就像按钮,但外观却是超链接,例如: ,选择类标签,选取框 单选 单选按钮 单选列表 单选菜单 复选 复选框 复选列表 复选菜单,选择类标签的选项, itemLabel itemValue 或者value绑定一个传回javax.faces. model.SelectItem的方法 value绑定至一个提供传回SelectItem的列表(数组)的方法 SelectItem: value, label value绑定至一个提供传回Map对象的方法 Map : label, value,其他标签, 图片 排版 本体间只能包括JSF组件,如果想

14、要放入非JSF组件,例如简单的样版(template)文字,则要使用 包括住。 包装组件,4 JSF数据转换与验证-表单中应用,4.1 转换器(Converter)协助模型与视图之 间的数据转换 4.2 验证器(Validator)协助进行语意检验(Semantic Validation),4.1 标准转换器,HTTP字符串 Java对象 对于基本数据类型(primitive type)JSF会使用javax.faces.Boolean、javax.faces.Byte等自动进行转换 对于 BigDecimal、BigInteger,则会使用javax. faces.BigDecimal、ja

15、vax.faces.BigInteger自动进行转换 对于DateTime、Number,可以使用、标签进行转换,它们各自提供有一些简单的属性,可以让我们在转换时指定一些转换的格式细节: ,4.1 自定义转换器,实现javax.faces.convert.Converter接口,这个接口有两个要实现的方法: public Object getAsObject(FacesContext context, UIComponent component, String str); public String getAsString(FacesContext context, UIComponent c

16、omponent, Object obj); 在faces-config.xml中注册: cn.wiztek.converter.User cn.wiztek.converter.UserConverter 在JSF页面中通过converter-id使用转换器: ,4.2 标准验证器,语法检验(Synatic Validation) 检查使用者输入的数据是否合乎我们所要求的格式,最基本的就是检查使用者是否填入了栏目值,或是栏目值的长度、大小值等等是否符合要求。 三种标准验证器: ,4.2 自定义验证器,实现javax.faces.validator.Validator接口中的validate()方法,如果验证错误,则丢出一个ValidatorException,它接受一个FacesMessage对象,这个对象接受三个参数,分别表示信息的严重程度

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

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

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