我已将我的应用程序从 JSF 1.2 迁移到 2.2。
它在 java.sun.com
上使用了 XML 命名空间域如 xmlns:f="http://java.sun.com/jsf/core"
.然而,Oracle's Java EE 7 tutorial正在 xmlns.jcp.org
上使用 XML 命名空间域喜欢xmlns:f="http://xmlns.jcp.org/jsf/core"
.
推荐哪一个,为什么要更改?
最佳答案
Which one is recommended?
继续在
xmlns.jcp.org
上使用 XML 命名空间领域。这是自 2013 年 Java EE 7 以来新引入的(涵盖 a.o. JSF 2.2、Servlet 3.1、CDI 1.1 等)。请注意,这不仅会影响 Facelets 文件,还会影响 XML 配置文件,例如 faces-config.xml
, web.xml
, beans.xml
, 等等。java.sun.com
上的旧 XML 命名空间仍然存在向后兼容性,但这种支持最终将在 future 的 Java EE 版本中消失。您应该尽快迁移您的代码库。使用普通 IDE 提供的“在所有文件中查找和替换”工具应该是一项微不足道的任务。只有较旧的 Mojarra 2.2.0/2.2.1 版本存在与 XML 命名空间更改相关的错误,但这些错误不应在较新版本中出现。另见 a.o.
and why was this changed?
因为自 2010 年以来 Java 不再来自 Sun。请注意,他们很聪明地不做
java.oracle.com
或与当前拥有的公司紧密结合的东西。它现在很好地独立于 JCP ( Java Community Process ),后者真正负责管理 Java (EE) 规范。
关于jsf - 哪个 XML 命名空间用于 JSF 2.2 及更高版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47992174/