2012-11-30 52 views
1

有一些类似的问题,但我还没有找到任何真正解决我的问题。这里去...JSF Datatable项目删除

有正常工作的简化可以在这里找到样本:

http://134.154.10.163:8000/yyudatatable/ 

而且文件可见这里:

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

什么我百思不得其解的是: 当我检查一个不是最后一个的项目,并点击'删除',该项目被删除。 (如果多个项目被选中,只有最上面的项目消失,我现在不担心这种行为。)

当我刷新时,直接在先前删除的项目下面的项目也被删除。我可以重复这一点,只要有剩下的物品在原来的移除目标下面,刷新和观看物品就会消失。

我怀疑这与数据表呈现信息的方式有关;该复选框的价值正在实现新的目标。但我不知道如何阻止它。

感谢您的帮助提前。

回答

1

发生这种情况的原因是表格re-submission。刷新页面时,表单会再次提交。这是Web应用程序中的常见问题。为了解决这个问题,在操作被触发后,重定向到当前页面。在JSF最简单的方法是这样的。
check()方法的末尾添加此行。

FacesContext.getCurrentInstance().getExternalContext().redirect("your_current_page.jsf"); 
+0

感谢您的回答!非常感激。 –