JSF h:form 标签到底是啥

Posted

技术标签:

【中文标题】JSF h:form 标签到底是啥【英文标题】:What exactly does JSF h:form tagJSF h:form 标签到底是什么 【发布时间】:2015-10-10 15:09:57 【问题描述】:

有人能用自己的话解释一下 h:form 究竟是如何工作的吗?它有什么用处? 我对 JSF 完全陌生,我注意到奇怪的行为。 假设我有一个按钮可以将我重定向到这样的主页:

h:commandButton value="back" action="home?faces-redirect=true"

当我不将此按钮包装到 h:form 标签中时,按钮根本不起作用... h:form 在幕后究竟做了什么?我已经阅读了官方文档,但我觉得我不知道它是如何工作的......

谢谢

【问题讨论】:

我建议退后一步,先学习一些基本的 html。例如。 htmldog.com/guides/html/beginner/forms JSF 在这个问题的上下文中只是一个 HTML 代码生成器。在浏览器中右键单击、查看源代码等。 【参考方案1】:

它将<form /> HTML 标签放入渲染结果中(发送给客户端的纯 HTML)。这样做的好处是<h:form /> 中的所有元素都可以使用 POST(或最终是 GET)请求向服务器发送信息。

<h:commandButton /> 使用这种请求,因此它仅适用于<h:form /><h:inputText /> 等其他表单元素也是如此。这些元素需要包含在<h:form /> 中,以便用户输入的信息可以发送到服务器并进行处理。

另外,其他一些看起来不是表单元素的组件也需要使用<h:form />,因为它们会向服务器发送信息。此类组件的一个示例可能是 PrimeFaces(JSF 的扩展库)数据表 (<p:dataTable />)。

【讨论】:

以上是关于JSF h:form 标签到底是啥的主要内容,如果未能解决你的问题,请参考以下文章

Android中ClipData中的“标签”参数到底是啥?

织梦标签调用到底是啥意思?

HTML中的span标签到底是啥意思,有啥具体的作用

使用 python 和 scikit-learn 的 DBSCAN:make_blobs 返回的整数标签到底是啥?

JSF 不解析 # 标签

JSF/Facelets:为啥将 JSF/Facelets 与 HTML 标签混合不是一个好主意?