【发布时间】:2011-12-10 01:50:11
【问题描述】:
我有
<h:form>
<h:commandLink action="#{my_fake_ajax_link}">
<h:outputText value="Link" />
<f:ajax render=":mydiv" />
</h:commandLink>
</h:form>
<h:panelGroup layout="block" id="mydiv">
<h:form>
<h:commandLink action="#{mybean.delete(0)}">
<h:outputText value="Here" />
<f:ajax render="@form" />
</h:commandLink>
</h:form>
</h:panelGroup>
当我点击一次“my_fake_ajax_link”时,我必须点击两次“删除”链接。这只是一个例子。我没有这个真实案例。我在一个页面上有多个表单,我不能将所有表单都添加到一个表单中。
我检查了问题所在:
- 当您单击“my_fake_ajax_link”时,
mydiv会按照应有的方式使用 ajax 进行刷新。 - ajax 上刷新表单的 ViewState 丢失。
如何添加 ViewState?我怎样才能使它工作而不使用仅一种形式?对我来说,这看起来像是一个 JSF 错误。我不想用
自动刷新那个 divjQuery("#mydiv").load(document.location.href);
但在最坏的情况下我会这样做。
【问题讨论】:
标签: ajax forms jsf jsf-2 viewstate