使用哪个XML命名空间与JSF 2.2

Val*_*han 8 jsf facelets xml-namespaces jsf-2.2 java-ee-7

我已将我的应用程序从JSF 1.2迁移到2.2.

它在java.sun.com域 上使用XML命名空间xmlns:f="http://java.sun.com/jsf/core".但是,Oracle的Java EE 7教程正在使用xmlns.jcp.org域名 上的XML命名空间xmlns:f="http://xmlns.jcp.org/jsf/core".

推荐哪一个,为什么会改变?

Bal*_*usC 13

推荐哪一个?

继续在xmlns.jcp.org域上使用XML命名空间.这是自2013年Java EE 7以来新引入的(包括JSF 2.2,Servlet 3.1,CDI 1.1等).请注意,这不仅影响Facelets文件,而且XML配置文件,如faces-config.xml,web.xml,beans.xml,等.

旧的XML命名空间java.sun.com仍然存在向后兼容性,但支持最终将在未来的Java EE版本中消失.您应该尽快迁移代码库.使用普通IDE提供的"在所有文件中查找和替换"工具应该是一项微不足道的任务.

只有较旧的Mojarra 2.2.0/2.2.1版本存在与XML命名空间更改相关的错误,但这些错误不应在较新版本中显示.另见ao


为什么这会改变?

因为Java自2010年以来就不再来自Sun.请注意,他们很聪明,没有成功,java.oracle.com或者与当前拥有的公司紧密相关.它现在很好地和独立地绑定到JCP(Java Community Process),它是真正负责管理Java(EE)规范的人.


SCP*_*tom 6

我对所有新的正式oracle名称空间进行了简要总结:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
    xmlns:p="http://xmlns.jcp.org/jsf/passthrough"
    xmlns:cc="http://xmlns.jcp.org/jsf/composite"
    xmlns:fn="http://xmlns.jcp.org/jsp/jstl/functions"      
    xmlns:jsf="http://xmlns.jcp.org/jsf">

    <!-- Content here -->
</html>
Run Code Online (Sandbox Code Playgroud)

我将其用作所有.xhtml文件的模板。可以在官方facelet标签库中找到详细信息:JavaServer Faces 2.2 Facelets标签库文档

希望这可以帮助 :)


归档时间:

查看次数:

7524 次

最近记录:

6 年,4 月 前