在我的index.xhtml
中,我有一个像这样定义的命名空间xmlns:h="http://java.sun.com/jsf/html"
。此url的服务器指示无法找到该页。
你知道页面移动到哪里了吗?
Eclipse的信息<>之前版本:Indigo ReleaseBuild id: 20110615-0604
为了解决这个问题,我是这样做的:
<>之前1. 关闭eclipse项目2. 打开eclipse项目3.右键单击项目4. 点击验证(错误的)警告消失了。XML标签库命名空间URI没有指向真正的web资源或其他东西。它只是指向与运行时类路径中所讨论的XML标签库的.taglib.xml
文件的<namespace>
条目相同的值,在JSF标签库(以及许多其他标签库)的情况下,只是恰好是HTTP URL。在Mojarra的情况下,您可以在jsf-impl.jar
文件的/com/sun/faces/metadata/taglib/html_basic.taglib.xml
文件中找到声明。
如果您在引用JSF HTML标记时遇到问题,那么原因就在其他地方。
前面的答案对我很有用。这里我提供了解决这个问题的另一种方法。我通过将jar primefaces-[version].jar
添加到WEB-INF/lib
目录来解决这个问题。
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
将Uri各自与您正在使用的jsf版本进行比较。
. The real JSTL 1.0 taglib uses the URI *http://java.sun.com/jstl/core.*
. The real JSTL 1.1/1.2 taglib uses the URI *http://java.sun.com/jsp/jstl/core*.
. Facelets 1.x uses the URI *http://java.sun.com/jstl/core.*
. Facelets 2.x uses the URI *http://java.sun.com/jsp/jstl/core.*
. Facelets 2.2+ uses the URI *http://xmlns.jcp.org/jsp/jstl/core.*