JSF数据表项删除

JSF数据表项删除,jsf,xhtml,Jsf,Xhtml,有一些问题与此类似,但我还没有找到任何真正解决我的问题的方法。这是 这里有一个简化的工作示例: http://134.154.10.163:8000/yyudatatable/ 文件在此处可见: 让我困惑的是: 当我选中一个不是最后一个的项目并点击“删除”时,该项目将被删除。(如果选中多个项目,则只有最上面的项目消失。我现在不担心这种行为。) 刷新时,先前删除的项目正下方的项目也将被删除。我可以重复这一点,刷新和观看项目消失,只要还有项目低于原来的删除目标 我怀疑这与datatabl

有一些问题与此类似,但我还没有找到任何真正解决我的问题的方法。这是

这里有一个简化的工作示例:

    http://134.154.10.163:8000/yyudatatable/
文件在此处可见:

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

刷新时,先前删除的项目正下方的项目也将被删除。我可以重复这一点,刷新和观看项目消失,只要还有项目低于原来的删除目标

我怀疑这与datatable呈现信息的方式有关;复选框的值正在向上传递到新目标。但我不知道如何阻止它


提前感谢您的帮助。

这是由于表单
重新提交造成的。刷新页面时,将再次提交表单。这是web应用程序中的常见问题。为了克服这个问题,只需在触发操作后重定向到当前页面。在JSF中,最简单的方法就是这样。
check()方法的末尾添加此行

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

发生这种情况的原因是表单
重新提交
。刷新页面时,将再次提交表单。这是web应用程序中的常见问题。为了克服这个问题,只需在触发操作后重定向到当前页面。在JSF中,最简单的方法就是这样。
check()方法的末尾添加此行

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

谢谢你的回答!非常感谢。谢谢你的回答!非常感谢。