java - 在 JSF2 中呈现 HTML5 按钮(按钮、重置和提交)

标签 java jsf-2

如您所知,您可以使用 2 种方法在 HTML5 中呈现按钮:

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

在JSF2中,有2种方式生成按钮;与UICommandUIOutcomeTarget成分。我了解这 2 个组件的用途,我的问题是对于 2 种 HTML5 按钮类型最好的组件是什么,应该在 JSF2 中创建这些 HTML5 组件吗?

到目前为止,最好的方面是创建一个 UICommandUIOutcomeTarget对于每个 HTML5 元素。

最佳答案

UICommand 组件应该用于 POST 按钮,如 <h:commandButton type="submit"> UIOutcomeTarget 组件应该用于 GET 按钮,如 <h:button> .无效按钮在 JSF 中由 <h:commandButton type="button"> 表示这本质上是 UICommand , 但它什么也没做。

JSF2 没有任何生成 <button> 的组件.提到的组件生成一个 <input> . PrimeFaces 的 <p:commandButton><p:button>但是会生成一个完全值得的 <button> (唯一的原因是它允许通过 CSS 更轻松地控制外观)。

如果您打算创建一个生成 <button> 的自定义组件并想在 UICommand 之间做出决定和 UIOutcomeTarget ,那么您应该根据按钮的所需 HTML 表示最终触发 POST 或 GET 请求。如果您的按钮应该同时支持两者,请选择 UICommand .

另见:


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

关于java - 在 JSF2 中呈现 HTML5 按钮(按钮、重置和提交),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17842929/

相关文章:

java - 无法从命令行运行已编译的 .classes

java - 如何使用java中的开发者api获取我的微博(中国SNS)推文列表?

spring - @Scope ("request") 不工作

ajax - 使用 f :viewParam with required attribute and commands

jsf - 如何禁用ViewState?

java - 工具提示文本删除java中的面板绘图

Java:创建全局图形对象

多核世界中的 Java Fork/Join 与多线程

java - 托管 bean 问题中的用户输入验证(JSF 2.0)

jsf - 如何在 JSF 支持 bean 之间共享一个实体?