JSF h:按钮或Primefaces p:按钮 - 目标_blank

use*_*erk 4 jsf primefaces

如何将_blank设置为啊:按钮或p:按钮的目标?

现在我有一个简单的链接:

<h:outputLink value="#{bean.url}" target="_blank">
 <h:outputText value="Link" />
</h:outputLink>
Run Code Online (Sandbox Code Playgroud)

但我希望它看起来像一个按钮(如果可能的话,是一个主要的样式按钮),所以我决定通过ap:button更改它.

<p:button value="Link" href="#{bean.url}" />
Run Code Online (Sandbox Code Playgroud)

但是现在我无法按照自己的意愿设置目标值.

有人有想法吗?

Mat*_*ndy 11

一点点javascript会有所帮助:

<p:button value="Link" onclick="window.open('#{bean.url}'); return false;" />
Run Code Online (Sandbox Code Playgroud)

EL表达式将在执行javascript之前被替换.

  • 说明:`<h:outputLink>`生成支持`target`属性的HTML` <a>元素,因此它也作为JSF组件属性提供.`<h/p:button>`生成HTML` <input type ="button">`,它根本不支持`target`属性,因此JSF也不会为它提供组件属性. (5认同)
  • 非常感谢!我添加了'return false'以避免回发.`<p:button value ="Link"onclick ="window.open('#{bean.url}'); return false;" />` (3认同)