h:link 和 h:outputLink 之间的区别

Posted

技术标签:

【中文标题】h:link 和 h:outputLink 之间的区别【英文标题】:Difference between h:link and h:outputLink 【发布时间】:2011-09-22 02:17:08 【问题描述】:

我已经查看了这两个组件的 API,但不太确定您为什么要使用其中一个而不是另一个?

http://download.oracle.com/docs/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/index.html

http://download.oracle.com/docs/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/h/outputLink.html

有人可以举例说明为什么你会选择其中一个吗?

谢谢

【问题讨论】:

【参考方案1】: <h:link> 使用其value 属性作为链接文本,并使用其outcome 属性通过JSF 导航规则生成链接到的URL。这使得它对应用程序内部链接很有用。此外,该组件仅在 JSF 2.0 中引入 <h:outputLink> 直接使用value 属性作为链接到的URL,标签的content 作为链接文本。这意味着该组件不能与导航规则一起使用,但它可以用于直接链接和外部链接。它从 JSF 1.1 开始就存在了。

【讨论】:

以上是关于h:link 和 h:outputLink 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

为 <h:outputLink>、<h:commandLink> 等添加默认参数

<h:commandLink> 不适用于嵌套 <f:view> 标记,但 <h:outputLink> 正在工作

JSF2 - 以编程方式创建 HtmloutputLink

JSF 中 f:param 的条件渲染

警告:JSF1091:找不到“外部链接”的mime类型

PrettyFaces 和 h:link 结果标签不会重定向到干净的 URL