1

您可能知道,您可以通过 2 种方法在 HTML5 中呈现按钮:

  • 使用 void 元素<input type="button" />
  • 如果您想要内容,请使用<button></button>元素(它不是 void 元素)。

在 JSF2 中,有 2 种方式来生成按钮;带有UICommandUIOutcomeTarget组件。我了解这两个组件的用途,我的问题是 2 个 HTML5 按钮类型的最佳组件是什么,是否应该在 JSF2 中创建这些 HTML5 组件?

到目前为止,最好的方面是为每个 HTML5 元素创建一个UICommand和。UIOutcomeTarget

4

1 回答 1

4

UICommand组件应用于 POST 按钮<h:commandButton type="submit">UIOutcomeTarget<h:button>. void 按钮在 JSF 中由<h:commandButton type="button">which 表示,本质上是UICommand,但它不执行任何操作。

JSF2 没有任何组件会生成<button>. 提到的组件生成一个<input>. PrimeFaces'但是<p:commandButton><p:button>产生一个完全有价值<button>的(唯一的原因是因为它可以更容易地控制 CSS 的外观)。

如果您打算创建一个自定义组件来生成 a并希望在和<button>之间做出决定,那么您应该基于按钮的所需 HTML 表示最终触发 POST 还是 GET 请求。如果您的按钮应该同时支持两者,那么选择.UICommandUIOutcomeTargetUICommand

也可以看看:


与具体问题无关,这些按钮都不是 HTML5 特定的。它们已经存在于以前的 HTML 版本中。

于 2013-07-24T20:00:06.493 回答