- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我什么时候应该使用 <h:outputLink>
而不是<h:commandLink>
?
据我了解,commandLink
生成 HTTP 帖子;我猜outputLink
将生成 HTTP 获取。也就是说,大多数 JSF tutorial material我读过用途commandLink
(几乎?)完全。
上下文:我正在实现一个很小的演示项目,它显示指向用户页面的标题链接,很像 Stack Overflow 的...
...我不确定是否 commandLink
(也许使用 ?faces-redirect=true
来实现书签功能)或 outputLink
是正确的选择。
最佳答案
<h:outputLink>
呈现完整的 HTML <a>
href
中具有正确 URL 的元素触发可添加书签的 GET 请求的属性。它不能直接调用托管 bean 操作方法。
<h:outputLink value="destination.xhtml">link text</h:outputLink>
<小时/>
<h:commandLink>
呈现 HTML <a>
具有 onclick
的元素提交(隐藏)POST 表单并可以调用托管 bean 操作方法的脚本。它还需要放置在 <h:form>
内。 .
<h:form>
<h:commandLink value="link text" action="destination" />
</h:form>
?faces-redirect=true
<h:commandLink>
上的参数,它会在 POST 之后触发重定向(根据 Post-Redirect-Get 模式),仅在实际单击链接时提高目标页面的可书签性(URL 不再是“后面一个”),但它不会更改 href
<a>
的元素是一个完整的 URL。仍然保留#
.
<h:form>
<h:commandLink value="link text" action="destination?faces-redirect=true" />
</h:form>
<小时/>
自 JSF 2.0 以来,还有 <h:link>
它可以采用 View ID(导航案例结果)而不是 URL。它将生成一个 HTML <a>
元素以及 href
中正确的 URL .
<h:link value="link text" outcome="destination" />
<小时/>
因此,如果是为了纯粹且可添加书签的页面到页面导航(例如 SO 用户名链接),请使用 <h:outputLink>
或<h:link>
。这对于 SEO 也更好,因为机器人通常不会加密 POST 表单或 JS 代码。此外,用户体验也将得到改善,因为页面现在可以添加书签,并且 URL 不再是“落后”。
必要时,可以在构造函数中进行预处理工作或者@PostConstruct
的@RequestScoped
或@ViewScoped
@ManagedBean
它附加到相关的目标页面。您可以使用@ManagedProperty
或<f:viewParam>
将 GET 参数设置为 bean 属性。
关于jsf - 我什么时候应该使用 h :outputLink instead of h:commandLink?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4317684/
我想制作一个可以在ajax(所有ajax)上运行的网页。我的意思是..每当您单击链接时(我指的是),即可使用来自另一个链接的数据来更改某个div。 例如: My page page.jsf
我正在尝试使用如下代码片段实现 pinterest 的 pinit 按钮: 这里是陷阱: 整个标记是由来自两个不同 bean 的四种不同方法以及一些静态文本的组合创
如何根据支持 bean 中的 boolean 值隐藏 h:ouputLink? 为了禁用它,我会像这样: 但是我怎样才能完全隐藏呢? 最佳答案 与: 对不起,是我的错。您正在搜索 h:output
我正在尝试使用如下代码片段实现 pinterest 的 pinit 按钮: 这里是陷阱: 整个标记是由来自两个不同 bean 的四种不同方法以及一些静态文本的组合创
我有一个 h:outputLink,它打开新的 JSF 页面并发送 h:param。 我希望当我单击它时将值发送到第二个托管 bean。我尝试使用 action="#{HistoryLinkCo
我已经查看了这两个组件的 API,但不太确定为什么要使用其中一个而不是另一个? http://download.oracle.com/docs/cd/E17802_01/j2ee/javaee/jav
我什么时候应该使用 而不是 ? 据我了解,commandLink生成 HTTP 帖子;我猜outputLink将生成 HTTP 获取。也就是说,大多数 JSF tutorial material我读过
我有一些看起来与此类似的代码: 但输出在链接 href 中包含一个撇号,未 URL 编码。 我是不是做错了什么或者这是 outputLink 的正常行为?提前致谢。 (JBoss 4.2,Java
我需要下载一个 CSV 文件,但我不想使用 bean。可以吗? 在 Firefox 中运行良好,在 chrome 和 IE 中显示纯文本,我需要一个窗口下载对话框。 感谢您的宝贵时间。
如何避免在具有输出链接的列上的数据表上调用 onRowClick(目标到新窗口)? Select
这行不通 #{msg['g.readMore']} 我想要它做的是点击调用 #{titlesBean.titleClicked(title.i
我有一个 h:outputLink如下图: #{doc.key} 该值是一个 URL www.example.com。当我单击该值时,我在地址栏中看到的 URL 是 http://localhost:
简单问题: 如何创建一个 HTML anchor 使用JSF,例如 或另一个 JSF 链接组件? 这有可能吗? 最佳答案 您可以使用 为了那个原因。它的id属性变为 和 . 它生成以下 HT
我的 URL 看起来像 http://server/context/page.jsf?param1=value1#state=statename::stateparam=value2 是否可以使用 h
我是一名优秀的程序员,十分优秀!