h:outputLink 指向 http://localhost:8080/Org/faces/gone4.com/faces/index.xhtml 而不是 gone4.com

h:outputLink points to http://localhost:8080/Org/faces/gone4.com/faces/index.xhtml instead of gone4.com

我正在使用 PrimeFaces 3.5。在我的 treeTable 中,我使用 <h:outputLink> 如下。

<p:column styleClass="names">
    <h:outputLink value="#{nodeData.name}"
                  rendered="#{nodeData.id ne 0 or not empty nodeData.id}"
                  target="_blank">

                  #{nodeData.name}
    </h:outputLink>
<p:column>

其中 nodeData.name 是我的 URL,但是当我单击它时它不起作用,但是当我右键单击并说在新选项卡中打开 link 时,它会重定向到此位置:

XML 解析错误:未找到元素位置:http://localhost:8080/Org/faces/gone4.com/faces/index.xhtml 第 1 行,第 1 列:

但是我的 URL 是 gone4.com。

代码有问题吗?

gone4.com 不是有效的绝对 URL。它类似于一个可以解释为亲戚的域名 URL。 HTML 文档中的任何 URL link 相对于 HTML 文档的基础 URL 进行解释,默认为当前请求 URL (正如您在浏览器的地址栏中看到的那样)。

您需要使其成为有效的绝对 URL。基本上,link 应该是这样的:

<a href="http://gone4.com">

因此不是这个

<a href="gone4.com">

相应地修复您的模型,使其拥有正确的 URLs。否则,在这些域名前手动添加前缀 http://