【发布时间】:2021-09-27 00:13:40
【问题描述】:
我尝试了xmlns:h="jakarta.faces.html"、xmlns:h="http://jakarta.faces.html"、xmlns:h="https://jakarta.faces.html" 和其他类似的字符串,但似乎没有任何效果。
【问题讨论】:
标签: jsf jakarta-ee
我尝试了xmlns:h="jakarta.faces.html"、xmlns:h="http://jakarta.faces.html"、xmlns:h="https://jakarta.faces.html" 和其他类似的字符串,但似乎没有任何效果。
【问题讨论】:
标签: jsf jakarta-ee
xmlns:h="jakarta.faces.html" 用于即将推出的 Faces 4.0,它是 Jakarta EE 10 的一部分。
在 JSF 3.0 中,Jakarta EE 9 的一部分,它仍然是 xmlns:h="http://xmlns.jcp.org/jsf/html"。
要使用的 API 包和 XML 命名空间 URI 的摘要:
javax.faces.* 和 http://java.sun.com/jsf/*
javax.faces.* 和 http://java.sun.com/jsf/*
javax.faces.* 和 http://java.sun.com/jsf/*
javax.faces.* 和 http://xmlns.jcp.org/jsf/*
javax.faces.* 和 http://xmlns.jcp.org/jsf/*
javax.faces.* 和 http://xmlns.jcp.org/jsf/*
jakarta.faces.* 和 http://xmlns.jcp.org/jsf/*
jakarta.faces.* 和 jakarta.faces.*
需要注意的是,XML 命名空间 URI 在每个较新的版本中都是向后兼容的。所以在例如Faces 4.0 你仍然可以使用jakarta.faces.* 旁边的http://java.sun.com/jsf/* 和http://xmlns.jcp.org/jsf/* URI。但显然不建议这样做,因为对旧 URI 的支持仍可能在未来某个时候被删除,并且在较新的 URI 中首次引入的任何新组件/标签不一定可通过较旧的 URI 获得。
Faces 4.0 是第一个使用 URN 而不是 URL 作为 XML 命名空间 URI 的版本。所以带有http(s):// 前缀的URL-form 是无效的。使用 URN 而不是 URL 的原因是因为这些 taglib URI 首先不能作为返回某种 XSD 文件的物理 Web 资源使用,因此会引起初学者的混淆。此外,URN 更具前瞻性,因为您不一定需要包含诸如 java.sun.com 或 xmlns.jcp.org 之类的主机名,它们对名称/所有者的更改比 API 名称更敏感。
【讨论】: