您可能知道可以用2种方法在HTML5中渲染按钮:
<input type="button" />
或<button></button>
元素(不是void元素)。在JSF2中,有两种生成按钮的方法;使用UICommand
或UIOutcomeTarget
组件。我理解这两个组件是什么,我的问题是什么是2个HTML5按钮类型的最佳组件,如果在JSF2中创建这些HTML5组件?
到目前为止,最好的方面是为每个HTML5元素创建UICommand
和UIOutcomeTarget
。
答案 0 :(得分:4)
UICommand
组件应该用于<h:commandButton type="submit">
之类的POST按钮,而UIOutcomeTarget
组件应该用于<h:button>
之类的GET按钮。 void按钮在JSF中由<h:commandButton type="button">
表示,基本上是UICommand
,但它没有做任何事情。
JSF2没有任何生成<button>
的组件。提到的组件生成<input>
。然而,PrimeFaces的<p:commandButton>
和<p:button>
会产生一个值得信赖的<button>
(唯一的原因是因为它可以让CSS更容易控制look'n'feel)。
如果您打算创建一个生成<button>
并希望在UICommand
和UIOutcomeTarget
之间做出决定的自定义组件,那么您应该根据所需的HTML按钮表示最终触发POST或GET请求。如果您的按钮应同时支持,请转到UICommand
。
无关,这些按钮都不是特定于HTML5的。它们已经存在于之前的HTML版本中。