_JSF入门环境配置XML配置和标签使用详细介绍以及发布部

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第7章JavaServerFacesLyh_ht@163.com22019/8/15JSF简介JSF入门JSF标签JSF运行流程和生命周期数据转换与验证事件处理学习目标32019/8/157.1JSF简介JavaServerFaces(JSF):符合JavaEE5标准的JavaWeb应用框架。JSF的历史:2001年中旬:JSF草案(由JavaCommunityProcess(JCP)团队研拟出来的一套标准)2004.3:JSF1.0(在2004年三月发布了JavaServerFaces1.0)2009:JSF2.042019/8/157.1JSF简介MVC介绍Model1架构:JSP+JavaBean52019/8/157.1JSF简介MVC介绍Model2架构:Servlet作为前端控制器,Servlet中调用JavaBean来完成实际的逻辑处理。62019/8/157.1JSF简介JSF体系结构JSF它既是JavaWeb用户界面标准又是严格遵循模型-视图-控制器(MVC)设计模式的框架。用户界面代码(视图)与应用程序数据和逻辑(模型)的清晰分离使JSF应用程序更易于管理。所有与应用程序的用户交互均由一个前端“Facesservlet”(控制器)来处理。72019/8/157.1JSF简介JSF体系结构82019/8/157.1JSF简介JSF的优势UI组件(UI-component)事件驱动模式用户界面到业务逻辑的直接映射程序员和网页设计人员的分工请求处理生命周期的多阶段划分全面的用户自定义支持Web开发的官方标准之一大量的IDE工具支持92019/8/157.2JSF入门第一个JSF例程:根据下拉列表选择来跳转到不同的页面102019/8/157.2JSF入门第一个JSF例程:MyJsfAction.java设计packagecom.sunyang;importjavax.faces.context.FacesContext;importjavax.faces.event.ValueChangeEvent;publicclassMyJsfAction{privateStringtype;publicStringgetType(){returntype;}publicvoidsetType(Stringtype){this.type=type;}//定义监听值改变的方法publicvoidselectType(ValueChangeEventevent){//FacesContextcontext=FacesContext.getCurrentInstance();StringnameTemp=(String)event.getNewValue();if(JAVA.equals(nameTemp)){type=JAVA;}else{type=C;}}(下接右边代码……)//定义导航页面中转的UrlpublicStringgourl(){returntype;}}112019/8/157.2JSF入门第一个JSF例程:faces-config.xml设计?xmlversion=1.0encoding=UTF-8?faces-configversion=1.2xmlns=:xi=:xsi=:schemaLocation=://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd!--配置托管Bean--managed-beanmanaged-bean-namesunyang/managed-bean-namemanaged-bean-classcom.sunyang.MyJsfAction/managed-bean-classmanaged-bean-scopesession/managed-bean-scope/managed-bean!--定义导航规则与页面--navigation-rulefrom-view-id/index.jsp/from-view-idnavigation-casefrom-outcomeJAVA/from-outcometo-view-id/jsp/newJava.jsp/to-view-id/navigation-casenavigation-casefrom-outcomeC/from-outcometo-view-id/jsp/newC.jsp/to-view-id/navigation-case/navigation-rule/faces-config122019/8/157.2JSF入门第一个JSF例程:web.xml设计?xmlversion=1.0encoding=UTF-8?web-appxmlns=:xsi==2.5xsi:schemaLocation=://java.sun.com/xml/ns/javaee/web-app_2_5.xsdlistenerlistener-classcom.sun.faces.config.ConfigureListener/listener-class/listener!--配置JSF的配置文件--context-paramparam-namejavax.faces.CONFIG_FILES/param-nameparam-value/WEB-INF/faces-config.xml/param-value/context-param!--处理请求的Servlet--servletservlet-nameFacesServlet/servlet-nameservlet-classjavax.faces.webapp.FacesServlet/servlet-classload-on-startup0/load-on-startup/servlet!--配置所有的.JSF结尾的请求都由JSF处理--servlet-mappingservlet-nameFacesServlet/servlet-nameurl-pattern*.jsf/url-pattern/servlet-mapping/web-app132019/8/157.2JSF入门第一个JSF例程:index.jsp%@pagelanguage=javaimport=java.util.*pageEncoding=UTF-8%%@tagliburi==f%%@tagliburi==h%htmlheadtitleMyJSF'index.jsp'startingpage/title/headbodyJSF测试信息!brf:viewh:form请选择查询项目:brh:selectOneMenuvalue=#{sunyang.type}valueChangeListener=#{sunyang.selectType}id=selecttypef:selectItemitemValue=JAVAitemLabel=JAVA/f:selectItemitemValue=CitemLabel=C//h:selectOneMenuh:commandButtonvalue=提交action=#{sunyang.gourl}/h:commandButton/h:form/f:view/body/html142019/8/157.2JSF入门第一个JSF例程:newJava.jsp注:另一个页面newC.jsp类似。%@pagelanguage=javaimport=java.util.*pageEncoding=UTF-8%%@tagliburi==f%%@tagliburi==h%!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.01Transitional//ENhtmlheadtitleMyJSP'newJava.jsp'startingpage/title/headbodyJSF测试信息!brf:viewh:form欢迎学习h:outputTextvalue=#{sunyang.type}/语言,祝你成功!br/h:form/f:view/body/html152019/8/157.2JSF入门示例程序中涉及到的几个内容:JSF表达式语言(ExpressionLanguage)托管Bean(BackingBean)JSF导航162019/8/157.2JSF入门JSF表达式语言(EL):JSFExpressionLanguage搭配JSF标签来使用,是用来存取数据对象的一个简易语言。以#开始,将变量或运算式放置在{与}之间。#{userBean.name}EL的变量名也可以程序执行过程中所声明的名称,或是JSFEL预定义的隐含对象。#{param.name}或#{param['name']}如果变量是List类型或Map类型的话,则可以在[]中指定索引。#{someBean.someList[0]}#{someBean.someMap[user.name]}172019/8/157.2JSF入门JSF表达式语言(EL)示例:示例说明#{myBean.value}返回保存在关键字myBean下的对象的value属性,或者如果myBean是一个Map,则返回存储在关键字value下的元素#{myBean['value']}同#{myBean.value}“#{myArrayList[5]}返回保存在关键字myArrayList下的List的第5个元素#{myMap['foo']}从保存在关键字myMap下的Map中返回保存在关键字foo下的对象#{myMap[foo.bar]}从保存在myMap关键字下的Map中返回保存在等于表达式foo.bar的值的关键字下的对象#{myMap['foo'].value}从保存在关键字myMap下的Map中返回保存在关键字foo下的对象的value属性#{myMap['foo'].value[5]}从保存在关键字myMap下的Map返回关键字foo下的List或者数组的第5个元素#{myString}返回存储在myString关键字下的String对象#{myInteger}返回存储在myInteger关键字下的Integer对象#{user.role=='normal'}如果关键字user下的对象的role属性等于normal则返回true.否则返回false182019/8/157

1 / 99
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功