9

我想使用以下命令:

JSF<h:commandButton>生成一个,<input...>但我希望生成一个 HTML 4 标准而不是生成<input>我希望这生成一个 HTML 4 标准<button>

4

4 回答 4

11

与标准 JSF 组件集最接近的<input type="button">是由<h:button>.

<h:button value="Button" />

这会产生

<input id="j_id_1" name="j_id_1" type="button" value="Button" onclick="window.location.href = '/context/currentpage.xhtml'" />

如果你真的<button>因为一些不清楚的原因坚持使用,那么你有以下选择:

  • 只需使用纯 HTML。
  • 创建自定义组件和/或渲染器。
  • 获取第 3 方组件库。例如PrimeFaces'<p:button>生成一个<button>.
于 2012-10-08T01:52:51.837 回答
3

你应该看看 Primefaces p:commandButton。这将呈现到<button>客户端上的标签。

http://www.primefaces.org/showcase/ui/commandButton.jsf

于 2012-10-08T11:21:31.010 回答
2

如果您使用的是 JSF 2.2,则可以将<button>标签与 jsf 命名空间混合使用。这里的秘密是process来自jsf命名空间的属性,用于发布表单数据和action属性。

<button type="submit" class="btn btn-primary" 
    jsf:action="#{profileController.updateProfile}"
    jsf:process="@form">
        <i class="fa fa-floppy-o" aria-hidden="true"></i>
            #{bundle['button.store']}
</button>

在 JSF 2.2 中,您可以将任何 HTML 标记与 JSF 标记混合使用。

于 2016-10-30T21:30:16.263 回答
-2

它通过替换为 对我有用<button><h:commandLink>例如:替换

<button class="RUIFW-btn-primary pull-right" 
        type="submit" 
        name="action" 
        value="Find" 
        onClick="return submitPage(this);">
     <span class="icon-search"></span>Find
</button> 

<h:commandLink styleClass="RUIFW-btn-primary pull-right" 
title="#{msg['view.button.Find']}"
action="#{anotherAccountController.doFind}"
onclick="return submitPage(this.form)">
<span class="icon-search"></span>#{msg['view.button.Find']}
</h:commandLink>
于 2014-03-21T21:12:58.473 回答