首先是JSF开发在页面编写上使用了.xhtml的后缀,在开发过程中需要托管bean和servlet的辅助,配置方式使用web.xml和faces-config.xml两个xml文档共同配置(目前学习到的是这样,希望了解深入的各位加以指正)

1.首先是servlet的配置,在web.xml下配置代码如下:

<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>

</servlet-mapping>

2.关于faces-config.xml的配置

#这里总结一下自己碰到的情况,并不全面

a。关于validator的配置,validator可以在xml里配置也可以在编写java代码的时候使用如下方法:

  • 通过实现javax.faces.validator.Validator接口创建一个验证器类。
  • 实现上述接口的validate()方法。
  • 使用注释@FacesValidator为自定义验证器分配唯一的ID。

@FacesValidator("ISBNValidator")----这样子就可以自动注册ID为ISBNValidator的验证器了

b。关于导航功能的配置:

配置导航规则

导航:是在一个button和超链接组件点击后要显示的下个页面的一套选择规则.

导航规则定义在应用配置资源文件中,每个导航规则指定怎样从一个页面导航到一套其他页面,JSF实现根据当前显示的页面来选择适当的导航.在适当的导航选定后,从当前页面选择访问到的下一个页面的机会依赖于在当前页面中组件被点击的时候调用的action方法,那个逻辑输出或由组件标记引用或由action方法所返回.

逻辑输出可以是开发者选择的任何东西,但也有一些常用的输出:

success  每个项都成功完成,继续下一个页面.

failure  某个项出了问题,继续到一个错误页面.

logon  用户被要求先登录,继续到等录页面.

no results  搜索没有找到任何项,回到搜索页.

通常,动作方法在本页的表单数据上执行一些处理,例如,那个方法检查表单中的用户名称和口令是否和文件中的一致,如果一致那个方法返回输出success,否则返回failure,例如:

<navigation-rule>

<from-view-id>/logon.jsp</from-view-id>

<navigation-case>

<from-action>#{LogonForm.logon}</from-action>

<from-outcome>success</from-outcome>

<to-view-id>/storefront.jsp</to-view-id>

</navigation-case>

<navigation-case>

<from-action>#{LogonForm.logon}</from-action>

<from-outcome>failure</from-outcome>

<to-view-id>/logon.jsp</to-view-id>

</navigation-case>

</navigation-rule>

正象这个例子所示,对于决定要访问的那个适当页面来说,用于处理那个动作的方法和返回的输出都是必须的.

这个导航规则定义从logon.jsp页面导航的可能路径,每个navigation-case元素定义一个从logon.jsp导航的可能路径,第一个navigation-case是说如果LogonForm.logon返回success输出,那么storefront.jsp页面将被处理;第一个navigation-case是说如果LogonForm.logon返回

failure的话logon.jsp会被渲染.

一个应用的导航配置由一套导航规则构成,每个规则都由faces-config.xml文件中的navigation-rule元素定义.

每个导航规则元素都对应到一个由可选的from-view-id元素定义的组件树标识符,这意味着在应用中每个规则定义了一个特定页面所有可能的导航路径,如果没有from-view-id元素,那么定义在navigation-rule元素中的导航规则应用到应用程序中的所有页面.from-view-id也允许通配符匹配模式.例如<from-view-id>/books/*</from-view-id>,就是说这个导航规则应用books目录中的所有页面.

navigation-rule元素可以包含0个或多个navigation-case元素,navigation-case元素定义一套匹配条件,当条件满足时,应用将导航到由包含在同一个navigation-case元素中的to-view-id元素定义的页面.

导航条件由可选的from-outcome 和 from-action元素定义,from-outcome定义逻辑输出,如success,from-action元素使用方法绑定表达式引用一个返回串的动作方法,那就是逻辑输出,这个方法执行一些逻辑来决定那个逻辑输出并返回它.

navigation-case检查元素输出和方法绑定表达式值的顺序是:

如果from-outcome value和from-action value都存在,如果动作方法返回不同的值那么这些元素都被使用,依赖于它执行的过程的结果.

如果只指定了from-outcome元素,则它必须匹配二者之一:要么是UI组件的action属性,要么是UI组件引用的方法的返回值.

如果只指定了from-action元素,则必须匹配组件标记指定的动作表达式的返回值.

有任何情况匹配,定义在to-view-id元素中的组件树将被选择来渲染。

c。关于converter(自定义转换器的配置)

<converter>

<description>

Converter for credit card

numbers that normalizes

the input to a standard format

</description>

<converter-id>CreditCardConverter</converter-id>

<converter-class>

converters.CreditCardConverter

</converter-class>

</converter>

//以上就是目前总结的内容,日后会根据学习进度进行更新

JavaEE下关于JSF开发的一些知识点小节相关推荐

  1. 【北邮国院大二下】产品开发与营销知识点整理 Topic11

    北邮国院大二电商在读,随课程进行整理知识点.仅整理PPT中相对重要的知识点,个人认为相对不重要的细小的知识点不列在其中.如有错误请指出.转载请注明出处 Topic 11 – Patents and I ...

  2. 【北邮国院大二下】产品开发与营销知识点整理 Topic7

    北邮国院大二电商在读,随课程进行整理知识点.仅整理PPT中相对重要的知识点,个人认为相对不重要的细小的知识点不列在其中.如有错误请指出.转载请注明出处 Topic 7 – System Level D ...

  3. 【北邮国院大二下】产品开发与营销知识点整理 Topic8

    北邮国院大二电商在读,随课程进行整理知识点.仅整理PPT中相对重要的知识点,个人认为相对不重要的细小的知识点不列在其中.如有错误请指出.转载请注明出处 Topic 8 – Detail Design ...

  4. 【北邮国院大二下】产品开发与营销知识点整理 Topic4

    北邮国院大二电商在读,随课程进行整理知识点.仅整理PPT中相对重要的知识点,个人认为相对不重要的细小的知识点不列在其中.如有错误请指出.转载请注明出处 Topic 4 – Identify Custo ...

  5. 【北邮国院大二下】产品开发与营销知识点整理 Topic2

    北邮国院大二电商在读,随课程进行整理知识点.仅整理PPT中相对重要的知识点,个人认为相对不重要的细小的知识点不列在其中.如有错误请指出.转载请注明出处 Topic 2 – Opportunity Id ...

  6. Ubuntu下 Tomcat + JSF + Ant + eclipse 开发环境搭建

    JDK的安装就不用说了,这是必须的.. 1. 去http://tomcat.apache.org/tomcat-7.0-doc/index.html下载Tomcat应用服务器,我用的版本是7.0 2. ...

  7. php 类似微信下拉菜单,微信小程序模拟下拉菜单开发实例

    本文主要和大家分享微信小程序模拟下拉菜单开发实例,希望能帮助到大家. 一.知识点 1.实现动态显示和隐藏某个控件 列表1data:{ open:false }, showitem:function() ...

  8. EJB+JSF开发示例(附源码)

    刚到公司时没有接触过EJB3和JSF,为了熟悉一下做了个EJB+JSF开发示例来入门.一个比较简单的JSF的web工程做页面展现,一个简单的EJB3工程做业务操作,分别部署到Tomcat下和JBoss ...

  9. ble开发 linux_嵌入式开发的必备知识点

    嵌入式开发的必备知识点 嵌入式操作系统简介 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一.嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器.存储器等)非常有限,并且对成本 ...

  10. Android项目开发实战常用知识点

    Android项目开发实战常用知识点 一:启动页延时两秒再跳转到主界面: //执行类 private class SlpashRunnable implements Runnable {@Overri ...

最新文章

  1. 2021年大数据Flink(二十九):Flink 容错机制 Savepoint
  2. 寒假训练,2.25,J-Palindrome Names (回文
  3. php导出excel数据使用csv替代xls格式
  4. linux 移动目录树到子目录中,Linux系统管理员工具包: 移动Linux/UNIX目录
  5. jqgrid的实用方法集合
  6. 使用CountDownLatch来模拟马拉松比赛
  7. 请假一天,回粤西老家买了套房
  8. MyBatis 动态 SQL 底层原理分析
  9. 啊金学习javascript系列一之javascript整体印象
  10. SEO优化技术的简介
  11. Java FX小项目国际象棋
  12. 基于Java毕业设计爱心公益网站设计与制作源码+系统+mysql+lw文档+部署软件
  13. h5 修改title 微信_iH5中级教程:微信必备,为H5设定标题
  14. Simple React Snippets快捷
  15. 数据处理过程的潜在风险和应对逻辑
  16. Photoshop 快速抠图:使用快速选择工具
  17. 熊孩子乱敲键盘攻破linux桌面,“熊孩子”乱敲键盘攻破了Linux桌面,怎么做到的?...
  18. 奥塔在线:VisualStudio中使用Git的详细配置说明
  19. 电子地图2006下载
  20. Tkinter 组件详解(八):Listbox

热门文章

  1. (原创)c#学习笔记10--定义类成员01--成员定义03--定义属性
  2. 每天一道面试题(2):实现strncpy
  3. vs2005中文RTM版的代码段管理器
  4. Java实现FastDFS文件上传、查询、下载和删除
  5. Thingsboard 3.1.0 - 源码编译
  6. Java面试题超详细讲解系列之九【SQL语句篇】
  7. ASP.NET MVC 不能加载项目的解决办法
  8. 03. 二维数组中的查找(C++实现)
  9. 48. 总是包含(#include)正确的头文件
  10. centos7上克隆虚拟机后设置静态IP无效的解决方法