一个一般的最佳实践问题。
假设我在同一页面上有一个搜索框和一个 Web 表单。拆分<h:form>
以便他们每个人都得到自己的有什么好处吗?还是将它们放在同一个<h:form>
是的,绝对每个形式都需要有自己的<h:form>
。
- 您对其他表单的数据不感兴趣。这也节省了带宽并提高速度。
- 它可能会不必要地触发另一种形式的验证器。这对用户体验不利。
请注意,不能嵌套表单。根据 HTML 规范,这是不允许的,在 JSF 中也是如此,因为它基本上所做的就是生成一堆 HTML。
如果他们共享一个表单,则每个表单的数据将一起提交。 这听起来不对。 这个问题可以改写为基本的HTML术语,即具有不同目的和不同提交按钮的表单是否应该在自己的元素中。 答案是肯定的。
我认为拆分的主要优点是关注点分离,因此具有不同目的的一种形式不会与另一种形式绑定。 并且服务器上的处理代码可以是单独的,因此您不必编写条件语句来更改验证等。 如果每个表单是独立的,则单独的控制器可以处理它们。
其他人是对的,但我想补充一点,使用 AJAX,您可以进行部分表单提交。您可以指定应发送和处理哪些输入组件。