我想使用以下命令:
JSF<h:commandButton>
生成一个,<input...>
但我希望生成一个 HTML 4 标准而不是生成<input>
我希望这生成一个 HTML 4 标准<button>
。
与标准 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>
因为一些不清楚的原因坚持使用,那么你有以下选择:
<p:button>
生成一个<button>
.你应该看看 Primefaces p:commandButton
。这将呈现到<button>
客户端上的标签。
如果您使用的是 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 标记混合使用。
它通过替换为 对我有用<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>