免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1495 | 回复: 0
打印 上一主题 下一主题

阅读JavaServer Faces in action这本书笔记 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-18 13:48 |只看该作者 |倒序浏览

为开发JSF应用,需要一个JSF实现。参考实现(RI)是所有其它实现都要遵循的标准。

所有JSF应用都必须的JAR文件:
Jsf-api.jar, jsf-impl.jar, jstl.jar, standard.jar, commons-beanutils.jar,
commons-collections.jar, commons-digester.jar, commons-logging.jar

web.xml配置:
    …
   
        Faces Servlet
        javax.faces.webapp.FacesServlet
   
   
        Faces Servlet
        /faces/*(称为前缀映射或*.faces称为后缀映射)
   
    …

JSF应用的配置参数:
Context参数
说明
默认
javax.faces.CONFIG_FILES
逗号分隔的上下文相关的资源路径列表,JSF将在装载WEB-INF/faces-config.xml之前载入这些资源

java.faces.DEFAULT_SUFFIX
当使用扩展名映射(后缀映射如*.faces)时,所使用资源的默认后缀
.jsp
java.faces.LIFECYCLE_ID
当在这个应用中处理JSF请求时,所使用的生命周期实例的标识符
默认的生命周期模型
javax.faces.STATE_SAVING_METHOD
指示在客户端(client)还是在服务器端(server)保存UI组件的状态
server

RI特定的配置参数:
Context参数
说明
默认
com.sun.faces.NUMBER_OF_VIEWS_IN_SESSION
当状态保存方法设置为server时,控制会话中保存的视图数量

com.sun.faces.validateXml
告诉JSF根据DTD验证配置文件
false
com.sun.faces.verifyObjects
告诉JSF验证其可以创建应用对象(组件,呈现器,转换器等)
false

MyFaces特定的配置参数:
Context参数
说明
默认
myfaces_allow_javascript
True,如果组件允许JavaScript
true
myfaces_pretty_html
指定显示的HTML是否进行格式化,以便它是“人可读的”(给输出附加的不影响HTML代码的行分隔符和空格)
true
myfaces_allow_designmode
使用CGLib字节码类修改的实现设计模式
false

JSF应用配置总体分为三种:分别针对日常应用开发,UI扩展开发(编写组件,呈现器,转换器或者验证器)和高级开发。

faces-config.xml中三类主要配置类别以及对应的XML元素(顶层根元素)
类别
特征
XML元素
日常应用配置和高级扩展的注册
应用配置。用于指定支持的语言,定制应用消息的位置,默认的呈现包,以及高级的可插入组件
受管bean创建工具。
控制在特定范围的对象的自动创建被引用的bean
用来告诉IDE其它可以访问的对象的导航规则,控制一个页面到另一个页面的应用流
用户界面扩展注册
组件注册。用于向系统注册组件
呈现包和呈现器注册。用于向呈现包添加呈现器或者定义整个新的呈现包
验证器注册。用于向系统注册验证器
转换器注册。用于向系统注册转换器
高级扩展特征的配置
阶段监听器注册。向系统注册阶段监听器
工厂配置。定义实例化核心JSF类的工厂

faces-config.xml:
1.0”?>
    “-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN”
   
http://java.sun.com/dtd/web-facesconfig_1_0.dtd
>

    场所有消息资源束 -->
   
        carstore.bundles.Messages
        
            en
            de
            fr
            es
        
   
    定制验证器 -->
   
         Registers the concrete Validator implementation,
            crstore.FormatValidator with the validator identifier,FormatValidator.
        
        FormatValidator
        carstore.FormatValidator
        
            List of format patterns separated by ‘|’. The validator
                Compares these patterns against the data entered in a component that
                Has this validator registered on it.
            
            formatPatterns
            java.lang.String
        
   
    定制转换器 -->
   
        Registers the concrete Converter implementation,
            carstore.CreditCardConverter using the ID, creditcard.
        
        creditCardConverter
        carstore.CreditCardConverter
   
    受管bean -->
   
         abc
        customer
        carstore.CustomerBean
         session
   
    导航规则 -->
   
        /chooseLocale.jsp
        
            abc
            storefront
            /storefront.jsp
        
   
    …

JSF定制标签库:
URI
名称
通用前缀
说明
http://java.sun.com/jsf/core
Core
f
包含独立于特定呈现器的标签(如,等等)
http://java.sun.com/jsf/html
HTML
h
包含所有标准组件和HTML呈现包

JSF支持两种包含。对动态包含,有两个要求:
1.     被包含页面必须封装在JSF  核心标签中。这个标签可以位于被包含页面中也可以围绕包含语句;
2.     被包含页面中的所有模板文本和非JSF标签必须位于JSF  核心标签之内。
所以,假定有下面的JSP页面的代码片断:

   

而foo.jsp可能是这样的:
   
    …
   
        Templaate text.
        
   
可以看到,整个被包含页面被封装在标签中,并且所有的非JSF标签和模板文本封装在标签中。另外,也可以将标签移到第一个页面,围绕在标签之外。
使用静态包含要更简单些。无特别的限制—甚至并不非要使用标签。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/6055/showart_1832604.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP