JSF h:form 标签到底是做什么的

What exactly does JSF h:form tag

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

h:commandButton 值="back" 操作="home?faces-redirect=true"

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

谢谢

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

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

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