有人可以用自己的语言解释h:form是如何工作的以及它有什么用处? 我是JSF的新手,我注意到了奇怪的行为。 假设我有一个按钮,可以将我重定向到主页,如下所示:
h:commandButton value =“back”action =“home?faces-redirect = true”
当我不将此按钮包装到h:form标签按钮时根本不起作用... h:在幕后形成了什么?我已阅读官方文档,但我不觉得我知道它是如何工作的......
由于
答案 0 :(得分:2)
它将<form />
HTML标记放入渲染结果(发送到客户端的纯HTML)。这样做的好处是<h:form />
内的所有元素都可以使用POST(或GET最终)请求将信息发送到服务器。
<h:commandButton />
使用此类请求,因此仅适用于<h:form />
。其他表单元素也是如此<h:inputText />
等。这些元素需要包含在<h:form />
中,以便用户输入的信息可以发送到服务器并进行处理。
此外,一些似乎不是表单元素的其他组件也需要使用<h:form />
,因为它们会向服务器发送信息。此类组件的示例可能是PrimeFaces(JSF的扩展库)数据表(<p:dataTable />
)。