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)规范的人.
我对所有新的正式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 次 |
| 最近记录: |