2008.04.11 摘自JSF in action Application Configuration file Page/131
1.JSF 配置文件分为了三部分,日常配置,扩展组件配置,和高级特性配置,结构如图:

Figure 3.3
JSF application files are XML files that begin with a top-level <faces-config> element. All of the subelements are optional, and can be grouped into three major categories. For day-to-day development, you only have to worry about the first category.
2. 具体的描述如下:
| Category | Feature | XML Element |
| Everyday application configuration and registration of advanced extensions |
Application configuration. Used for specifying supported Managed bean creation facility. Controls automatic Referenced beans. Used to tell an IDE about other Navigation rules. Controls flow of application from |
<application>
<managed-bean> <referenced-bean>
<navigation-rule> |
| User interface extension registration |
Component registration. Used to register components Render kit and renderer registration. Used to either Validator registration. Used to register validators with Converter registration. Used to register converters with |
<component> <render-kit> <validator>
<converter> |
| Configuration of advanced features |
Phase listener registration. Registers phase listeners Factory configuration. Defines classes for the factories |
<phase-listener> <factory> |
3. 以下为范例
Listing 3.1 Selected portions of the reference implementation CarDemo sample application
<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
<application>
<message-bundle>carstore.bundles.Messages</message-bundle>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>de</supported-locale>
<supported-locale>fr</supported-locale>
<supported-locale>es</supported-locale>
</locale-config>
</application>
<validator>
<description>
Registers the concrete Validator implementation,
carstore.FormatValidator with the validator
identifier, FormatValidator.
</description>
<validator-id>FormatValidator</validator-id>
<validator-class>carstore.FormatValidator</validator-class>
<attribute>
<description>
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.
</description>
<attribute-name>formatPatterns</attribute-name>
<attribute-class>java.lang.String</attribute-class>
</attribute>
</validator>
<converter>
<description>
Registers the concrete Converter implementation,
carstore.CreditCardConverter using the ID,
creditcard.
</description>
<converter-id>creditCardConverter</converter-id>
<converter-class>carstore.CreditCardConverter</converter-class>
</converter>
...
<managed-bean>
<description>
Causes the default VariableResolver implementation to instantiate
the managed bean, CustomerBean of the class, carstore.CustomerBean
in session scope if the bean does not already exist in any scope.
</description>
<managed-bean-name> customer </managed-bean-name>
<managed-bean-class> carstore.CustomerBean </managed-bean-class>
<managed-bean-scope> session </managed-bean-scope>
</managed-bean>
<managed-bean>
<description>
The main backing file bean
</description>
<managed-bean-name> carstore </managed-bean-name>
<managed-bean-class> carstore.CarStore </managed-bean-class>
<managed-bean-scope> session </managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/chooseLocale.jsp</from-view-id>
<navigation-case>
<description>
Any action on chooseLocale should cause navigation to storeFront.jsp
</description>
<from-outcome>storeFront</from-outcome>
<to-view-id>/storeFront.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/storeFront.jsp</from-view-id>
<navigation-case>
<description>
Any action that returns "carDetail" on storeFront.jsp should
cause navigation to carDetail.jsp
</description>
<from-outcome>carDetail</from-outcome>
<to-view-id>/carDetail.jsp</to-view-id>
</navigation-case>
</navigation-rule>
...
</faces-config>
本文介绍了JSF配置文件的三个主要部分:日常应用配置、扩展组件配置及高级特性配置。通过示例展示了如何进行国际化设置、注册验证器、转换器、管理Bean等。
1868

被折叠的 条评论
为什么被折叠?



