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 标签到底是啥的主要内容,如果未能解决你的问题,请参考以下文章