![[8.5.5.6 或更高版本]](../ng_v8556.gif)
配置 Liberty 概要文件以使用 JavaServer Faces 2.2
可配置 Liberty 概要文件以使用 JavaServer Faces (JSF) 2.2 功能部件,它提供对 JSF 2.2 规范的全面支持。
关于此任务
Liberty 概要文件 JSF 实现基于 MyFaces 开放式源代码实现。要配置 Liberty 服务器以运行已启用 JSF 2.2 的应用程序,必须设置 <jsf-2.2> 功能部件。
过程
更新 server.xml 文件以添加 <jsf-2.2> 功能部件。 例如:
<featureManager>
<feature>jsf-2.2</feature>
</featureManager>
要点:
使用 JavaServer Faces 2.2 时,应考虑以下几点:
- 与 JSF 2.0 功能部件不同,JSF 2.2 功能部件未隐式装入 bean 验证功能部件。如果将应用程序从 JSF 2.0 迁移至 JSF 2.2,并且应用程序使用 bean 验证,那么您还必须启用 beanValidation-1.1 功能部件。
- JSF 2.2 功能部件需要 servlet-3.1、jsp-2.3、timedexit-1.0 和 el-3.0 功能部件。在 server.xml 文件中启用 JSF 2.2 功能部件时,也会启用其中每个功能部件。
- 不能同时运行 JSF 2.2 功能部件和 Java EE 6 功能部件;例如,servlet-3.0、jsp-2.2 和 cdi-1.0 功能部件。
- 可针对每个服务器实例在 JSF 2.0 与 JSF 2.2 功能部件实现之间进行选择,但必须考虑所有行为更改。如果所需行为仅包含在 JSF 2.2 功能部件中,那么您必须使用 JSF 2.2 功能部件。如果 JSF 2.2 功能部件中的行为更改对现有应用程序有负面影响,那么应使用 JSF 2.0 功能部件以保留该应用程序的现有行为。
- 不能在同一 Liberty 概要文件服务器中同时使用 JSF 2.0 和 JSF 2.2 功能部件。如果同时配置两个功能部件,那么将产生错误:
CWWKF0033E: 不能同时装入单体功能部件 jsf-2.0 和 jsf-2.2。所配置功能部件 jsf-2.0 和 jsf-2.2 包含的一个或多个功能部件导致该冲突。您的配置不受支持;请更新 server.xml 以移除不兼容的功能部件。
- JSF 2.2 与之前发行版(例如,JSF 2.1 和 JSF 2.0)兼容;但是,应考虑以下例外:
- 先前版本的 JSF 规范中导致异常被允许的错误现在传播至异常处理程序。请阅读 JSF 2.2 规范的概述章节中的“与先前版本的向后兼容性”。
- 规范中对组合组件属性 ELResolver 和组合计算机元数据的更改。请阅读 JSF 2.2 规范的概述章节中的“与先前版本的向后兼容性”。
结果
下一步做什么
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
bean-discovery-mode="all">
</beans>