JSF在Web开发中的应用.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《JSF在Web开发中的应用.ppt》由会员分享,可在线阅读,更多相关《JSF在Web开发中的应用.ppt(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 JSF入门,Email:,信息类专业课程,西北农林科技大学,主要内容,JSF简介 JSF入门 JSF标签 JSF开发环境,Web开发技术,Web架构 用超文本技术(HTML)实现信息与信息的连接; 用统一资源定位技术(URI)实现全球信息的精确定位; 用新的应用层协议(HTTP)实现分布式的信息共享。 静态 动态 客户端技术 HTML、Java Applets、JavaScript、ActiveX、CSS、DHTML、XHTML 服务端技术 CGI(Common Gateway Interface) C、C+、Pascal Perl、Python PHP、ASP、Servlet(JSP
2、)+ JavaBean,最新发展,Java Web框架 Struts、Spring MVC、WebWork、Tapestry JSF AJAX(Asynchronous JavaScript and XML) XHTML 和 CSS 的标准表示; 使用文档对象模型DOM实现动态显示及用户交互; 使用 XML 、XSLT和XMLHttpRequest进行数据交换及操作; 使用 javascript 将所有技术绑定在一起。 Agile Web Ruby on Rails Python(Django、TurboGears、Pylons),二、JSF简介,什么是JSF JSF的特性 JSF与其它框架的
3、比较 JSF实现 JSF示例,什么是JSF,JavaServer Faces (JSF) :符合JavaEE5标准的Java Web应用框架。目标:简化开发。 JSF提供: 标准的编程接口 丰富可扩展的组件库 一个核心的JSP标记库用来处理事件、执行验证以及其他非UI相关的操作(core) 一个标准的HTML标记库来表示UI组件(html) 事件驱动模型 JSF通过IDE工具支持拖放式开发。,JSF的由来和目标,由来 EJB2的失败 非官方Web框架的兴起 目标 简化开发 超越现有Web框架 试图在不同的角度上提供网页设计人员、应用程序设计人员、组件开发人员解决方案,让不同技术的人员可以彼此合
4、作又不互相干扰,JSF 体系结构,JSF 的主要优势之一就是它既是 Java Web 用户界面标准又是严格遵循模型-视图控制器 (MVC) 设计模式的框架。用户界面代码(视图)与应用程序数据和逻辑(模型)的清晰分离使 JSF 应用程序更易于管理。为了准备提供页面对应用程序数据访问的 JSF 上下文和防止对页面未授权或不正确的访问,所有与应用程序的用户交互均由一个前端“Faces”servlet(控制器)来处理。,JSF的特性,技术特性 一流的UI组件和事件模型 POJO依赖注入(又称控制反转) 客户端独立性 使用或者不使用工具 可扩展的导航(类似于Struts导航,注:Page导航) 强大的扩
5、展能力 (如Shale) 完全的集成(如集成Spring、JPA) 本地化和易理解性,JSF的特性,市场和商业特性 广泛的采用,包括SUN,Oracle,IBM,BEA,Apache,EDS 作为JavaEE 5.0的组成部分 大型第三方组件市场(iLog, Business Objects, Oracle, Sun, IBM) 业内领先的工具支持(Sun Java Studio Creator, NetBeans,Oracle JDeveloper, IBM WSAD, BEA Workshop, Exadel Studio),与其它框架的比较(来自TSS),JSF的优势,UI组件(UI-c
6、omponent) 事件驱动模式 用户界面到业务逻辑的直接映射 程序员和网页设计人员的分工 请求处理生命周期的多阶段划分 全面的用户自定义支持 Web开发的官方标准之一 大量的IDE工具支持,JSF实现,JSF是标准 实现 Sun JSF RI Apache MyFaces 组件库 Tomahawk ADF Faces (from Oracle) Tobago,JSF示例, 第一个JSF程序 请输入您的名称 名称: ,二、JSF入门,第一个JSF程序 JSF Expression Language 国际化(I18N) Managed Beans 数据转换与验证 事件处理,第一个JSF程序,JS
7、F开发环境 Eclipse WTP JSF插件 JSF实现(MyFaces) Tomcat Managed-Bean JSP页面 Pages Navigation,JSF应用一:输入页面, ,f:loadBundle basename=messages var=msg/,用于临时加载国际化资源的语言包,输出指定key对应的国际化消息,JSF应用一:输入页面,JSF应用二:开发托管Bean,从作用上看托管Bean类似struts2的Action,但作用模式不同。对于struts2的Action而言,应用通过表单提交方式把请求提交到struts2的Action;但JSF的托管Bean,系统直接将J
8、SF中的UI组件的行为绑定到托管Bean的属性或方法。 如: 该文本框的行为绑定到login Bean的name属性。 该按钮的行为直接绑定到login Bean的valid方法上,JSF应用二:开发托管Bean,public class LoginBean /下面的三个属性都会直接与JSF标签绑定 private String name; private String pass; private String err; . . . /该方法被绑定到UI组件(按钮)的action属性 public String valid() if (name.equals(crazyit) ,JSF应用三:
9、定义导航规则,JSF以导航规则来决定逻辑视图与物理视图资源之间的对应关系; JSF导航规则可以指定系统从哪个页面开始,以该页面的提交按钮绑定的值作为 逻辑视图; JSF使用标准的配置文件定义导航规则; JSF允许每个表单域单独触发事件,JSF常用的两类事件: ValueChange事件:表单域的值发生改变时触发该事件; Action事件:用户单击按钮或超链接时触发这类事件。,JSF应用三:定义导航规则, /login.jsp success /greeting.jsp failure /login.jsp ,faces-config-nav.xml,JSF应用四:解读JSF配置,对于大部分JS
10、F初级开发者而言,常作的两件事是:定义托管Bean,配置XML文件。 配置核心控制器 Web应用基本上是请求-响应架构,即:用户向Web应用发请求,Web应用处理请求,处理完成后将请求送回客户端。 JSF与传统的MVC框架一样,也提供了一个核心控制器负责处理所有用户请求,即javax.faces.webapp.FacesServlet,它就是JSF的核心控制器。 FacesServlet是一个标准的Servlet,因此,它的配置与普通Servlet没有太大区别,同样是先配置Servlet,再配置Servlet映射的URL,配置文件时web.xml。,JSF应用四:解读JSF配置, FacesS
11、ervlet javax.faces.webapp.FacesServlet 1 FacesServlet *.jsf ,配置FacesServlet的代码片段如下:,上面配置片段指定使用FacesServlet来拦截所有已.jsf结尾的请求,值得注意的是 FacesServlet拦截的URL不一定是*.jsf,完全可以有用户随意指定。如:*.faces、*.do等。,JSF应用四:解读JSF配置, javax.faces.CONFIG_FILES /WEB-INF/faces-config-beans.xml,/WEB-INF/faces-config-nav.xml javax.faces
12、.STATE_SAVING_METHOD client , :为整个web用于配置参数,JSF应用四:解读JSF配置,JSF有效参数名及其作用如下:,javax.faces.STATE_SAVING_METHOD:指示是在客户端(client)还是在服务器端(server)保存UI组件的状态。 JSF有保存页面中组件状态的能力,以便在页面被重新显示时记住用户输入的信息。组件状态可以保存在客户端也可保存在服务器端,这取决于javax.faces.STATE_SAVING_METHOD 参数的设置值。可能的取值是client 和 server(默认值)。,javax.faces.DEFAULT_S
13、UFFIX:该参数指定JSF映射视图资源时的默认后缀名,默认值是.jsp,不需要改变参数的值。,JSF应用四:解读JSF配置,javax.faces.CONFIG_FILES:该参数指定JSF配置文件的存放位置。默认情况下JSF会自动加载位于WEB_INF下的faces-config.xml文件。如果包含多个JSF配置文件,则需要指定该参数,通过逗号分割不同的(相对路径)配置文件;如果只有一个JSF配置文件,且文件为位于WEB_INF下的faces-config.xml, 则可以省略该参数。,javax.faces.LIFECYCLE_ID:该参数指定JSF所管理的生命周期实例的标识符,该参数
14、通常无需修改。,JSF应用四:解读JSF配置,com.sun.faces.verifyObjects:该参数用于指定是否需要验证自定义组件。当JSF应用中定义了自定义组件、转换器、校验器时,可以设置应用启动时验证这些自定义组件。该参数的值只能是true或false。,com.sun.faces.validateXml:该参数指定是否需要验证JSF应用中的xml文件。,com.sun.faces.NUMBER_OF_VIEWS_IN_SESSON:当状态保存方法设置为server时,控制会话中保存的视图数量 ,当设置为-1时表示没有限制。,JSF配置文件结构,JSF配置文件根元素都是元素,JSF
15、应用配置总体分为三种:分别针对日常应用开发,UI扩展开发(编写组件,呈现器,转换器或者验证器)和高级开发。最常见的两个元素是: :JSF应用中所有托管Bean都在该元素下配置、管理。 :该元素用于管理JSF应用的导航规则。,JSF配置文件结构,三、JSF Expression Language,搭配 JSF 标签来使用,是用来存取数据对象的一个简易语言。 以#开始,将变量或运算式放置在 与 之间。 #userBean.name EL的变量名也可以程序执行过程中所声明的名称,或是JSF EL预定义的隐含对象。 #param.name 对于Map类型对象,可以使用 . 运算符指定key值来取出对应
16、的value,也可以使用 与 来指定。 #paramname #someBean.someMapuser.name 如果变量是List类型或阵列的话,则可以在 中指定索引。 #someBean.someList0,也可以指定字面常数,对于true、false、字符串、数字,JSF EL会尝试进行转换。 在声明变量名称时,要留意不可与JSF的保留字或关键字同名。 true false null div mod and or not eq ne lt gt le ge instanceof empty 在EL中可以直接进行一些算术运算、逻辑运算与关系运算。 算术运算符:加法 (+), 减法 (-)
17、, 乘法 (*), 除法 (/ or div) 与余除 (% or mod) 三元运算:( expression ? result1 : result2) 逻辑运算:and(或 ValueBinding binding = context.getApplication(). createValueBinding(#user); UserBean user = (UserBean) binding.getValue(context); 取得Bean的某个属性: FacesContext context = FacesContext.getCurrentInstance(); ValueBindi
18、ng binding = context.getApplication(). createValueBinding(#user.name); String name = (String) binding.getValue(context);,六、JSF标签,标准标签 输出类标签 输入类标签 命令类标签 选择类标签 其他标签 表格处理,JSF标准标签,输出(Outputs) 其名称以output作为开头,作用为输出指定的信息或绑定值。 输入(Inputs) 其名称以input作为开头,其作用为提供使用者输入框。 命令(Commands) 其名称以command作为开头,其作用为提供命令或链接按钮
19、。 选择(Selections) 其名称以select作为开头,其作用为提供使用者选项的选取。 其它 包括了form、message、messages、graphicImage等等未分类 的标签。,标准HTML标签的属性,输出类标签,outputLabel 产生 HTML标签,使用for属性指定组件的client ID,例如: outputLink 产生 HTML标签,搭配可帮链结加上参数,所有的参数都会变成 name=value 的类型附加在链接后,value所指定的内容也可以是JSF EL绑定。例如: outputFormat 产生指定的文字信息,可以搭配来设定信息的参数以格式化文字信息,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jsf web 开发 中的 应用 利用 运用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内