1

有一些与此类似的问题,但我还没有找到任何真正解决我的问题的东西。开始...

这里有一个可用的简化示例:

    http://134.154.10.163:8000/yyudatatable/

这些文件在这里可见:

http://whywhyewej.sci.csueastbay.edu/~yyu/cs6522/facelets/datatable/

令我困惑的是:当我检查一个不是最后一个项目并点击“删除”时,该项目被删除。(如果检查了多项,只有最上面的一项会消失。我现在不担心这种行为。)

当我刷新时,之前删除的项目正下方的项目也被删除。我可以重复这个,刷新和观察项目消失了,只要还有低于原始删除目标的项目。

我怀疑这与数据表呈现信息的方式有关;复选框的值可以达到新的目标。但我不知道如何阻止它。

提前感谢您的帮助。

4

1 回答 1

1

这是由于表单而发生的re-submission。当您刷新页面时,您的表单会再次提交。这是 Web 应用程序中的常见问题。为了克服这个问题,只需在触发动作后重定向到当前页面。JSF最简单的方法是这样。
在方法的末尾添加这一行check()

FacesContext.getCurrentInstance().getExternalContext().redirect("your_current_page.jsf");
于 2012-11-30T05:54:44.337 回答