【发布时间】:2012-05-14 19:35:49
【问题描述】:
我正在研究 JSF。我有一个包含多种表单的 xhtml 页面。当我提交一个表单时,如果我在其他表单上进行了一些更改,我就会丢失它,因为在提交时页面正在刷新。我不能使用单一表格。有什么办法吗。
任何解决方案都将受到高度赞赏。
谢谢!
【问题讨论】:
标签: jsf
我正在研究 JSF。我有一个包含多种表单的 xhtml 页面。当我提交一个表单时,如果我在其他表单上进行了一些更改,我就会丢失它,因为在提交时页面正在刷新。我不能使用单一表格。有什么办法吗。
任何解决方案都将受到高度赞赏。
谢谢!
【问题讨论】:
标签: jsf
如果您已经在使用 JSF 2.x(您使用 XHTML (Facelets) 的声明或多或少地证实了这一点),只需通过 ajax 提交表单。
只需将以下标记添加到表单的命令链接/按钮:
<f:ajax execute="@form" render="@form" />
这样,当前的<h:form> 将由 ajax 提交,而当前的<h:form> 将仅呈现(更新/刷新)。如有必要,您可以通过添加其他客户端 ID 在 render 属性中指定其他要更新的组件。
如果你还在使用旧的 JSF 1.x,你可能想看看 RichFaces 的 Ajax4jsf 子库,它支持的基本相同。
【讨论】: