17

Primefaces 3.5,Omnifaces 1.6

我有一组带有图标的按钮。这些按钮在页面上有一个动作(例如删除或在数据表中添加新行)。我想添加看起来与按钮完全一样的新“东西”,但带有外部链接。如果我单击这个新按钮,则必须打开新选项卡/窗口。为此,我正在使用p:commandButtonand h:outputLink

<p:commandButton action="#{bean.do1}" icon= ...>
<p:commandButton action="#{bean.do2}" icon= ...>

<h:outputLink value="#{bean.url}" target="_blank"> 
  <i class="icon-external-link"></i> 
</h:outputLink>

我怎样才能做到这一点?

4

1 回答 1

44
  • 使用 a p:button,其作用类似于链接:

    <p:button href="http://www.stackoverflow.com" value="Go to SO" />
    
  • 如果您想要一个空白目标并从 Primefaces 3.5.5 开始,则有机会直接使用该 target属性:

    <p:button target="_blank" href="http://www.stackoverflow.com" value="Go to SO" />
    
  • 当低于 PF 3.5.5 时,您可以执行一些 javascript 在空白目标中打开它:

    <p:button value="Go to SO" onclick="window.open('http://www.stackoverflow.com')" />
    
  • 以上所有选择都使用 javascript来更改浏览器的窗口位置。为了生成一个bot-harvestable HTML 链接元素,使用一个h:outputLink(或只是一个普通的 HTMLa元素),并使用 Primefaces 的类对其进行样式设置:

    <h:outputLink value="http://www.stackoverflow.com"
        styleClass="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only">
        <span class="ui-button-text">Go to SO</span>
    </h:outputLink>
    

也可以看看:

于 2013-09-20T12:32:15.777 回答