目录结构如下。
|-- build.xml
|-- src
|-- WEB-INF
|----|-- web.xml
|----|-- faces-config.xml
|----|-- classes
|----|-- lib
|----|----|--jsf-impl.jar
|----|----|--jsf-api.jar
|----|----|--commons-digester.jar
|----|----|--commons-collections.jar
|----|----|--commons-beanutils.jar
|----|----|--commons-logging.jar
|----|----|--standard.jar
|----|----|--jstl.jar
jsf的配置文件faces-config.xml:定义导航规则,初始化javabean,注册自己的jsf组件,验证器,和一些面向jsf应用其他方面的其他配置
web.xml:
web的参数配置
javax.faces.STATE_SAVING_METHOD
指示是在客户端(client)还是在服务器端(server)保存UI组件的状态和
session信息, server表示保存到服务器端,client表示保存到客户端,
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<!-- JSF采用 xhtml 前缀,定义这个参数让Facelet渲染器能够解释这个前缀 -->
默认为.jsp,它自于javax.faces.application.ViewHandler
类中的常量. 常量的名字是 DEFAULT_SUFFIX 值相当于 ".jsp"
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
默认jsf的生命周期
<context-param>
<param-name>javax.faces.LIFECYCLE_ID</param-name>
<param-value>JSF</param-value>
</context-param>
JSF将在装载WEB-INF/faces-config.xml之前载入这些资源
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>
/WEB-INF/faces-config-sys.xml,/WEB-INF/faces-config-hr.xml,/WEB-INF/faces-config-mrp.xml
</param-value>
</context-param>
设置自定义的Facelets标签库文件路径
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>/WEB-INF/tags/ejs.taglib.xml</param-value>
</context-param>
告诉JSF验证其可以创建应用对象(组件,呈现器,转换器等),
那么设置标志为true, 默认值为false
<!-- DEVELOPMENT设置为false,在正式环境才需要设置为true -->
<context-param>
<param-name>com.sun.faces.verifyObjects</param-name>
<param-value>false</param-value>
</context-param>
告诉JSF根据DTD验证配置文件,那么设置标志为true, 默认值为false
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
<param-value>true</param-value>
</context-param>