h:outputLink将上下文路径前缀为URL值



我有一个h:outputLink,如下所示:

<h:outputLink value="#{doc.value}" style="color:blue">#{doc.key}</h:outputLink>

URL www.example.com。当我点击该值时,我在地址栏中看到的URL是http://localhost:8080/Project/www.example.com。为什么上下文路径被前缀到URL?

我查找了生成的HTML,但值是没有上下文路径的实际URL。我在JSF中尝试了<a>,但是没有区别。

任何帮助修复这个将是感激的。谢谢!

<h:outputLink /> 如果值字段是相对路径,则将其值附加到当前父路径(而不是Servlet上下文)。这意味着如果你在http://localhost:8080/Project/users.xhtml:

中有这个特定的链接
<h:outputLink value="sales.xhtml">
    Sales
</h:outputLink>

这将尝试重定向到http://localhost:8080/Project/sales.xhtml .

当您指定一个相对url时,JSF理解它必须将它附加到当前父url。为了避免这种情况,请写入绝对url:

public String getValue(){
    return "http://www.example.com";
}
<h:outputLink value="#{doc.value}">
    Custom external url
</h:outputLink>

相关内容

  • 没有找到相关文章

最新更新