Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确认后未刷新页面Dilalog-JSF primefaces_Jsf_Web Applications_Jsf 2 - Fatal编程技术网

确认后未刷新页面Dilalog-JSF primefaces

确认后未刷新页面Dilalog-JSF primefaces,jsf,web-applications,jsf-2,Jsf,Web Applications,Jsf 2,我是usinf JSF 2.0,我有一个XHTML页面,代码如下: -我有一个带有delete列的数据表,如下所示: <p:column id="Delete" headerText="Delete"> <p:commandButton icon="delete" onclick="deleteConfirmation.show()" style="align:center"> <f:setPropertyActionListener value="#{item}"

我是usinf JSF 2.0,我有一个XHTML页面,代码如下: -我有一个带有delete列的数据表,如下所示:

<p:column id="Delete" headerText="Delete">
<p:commandButton icon="delete" onclick="deleteConfirmation.show()" style="align:center">
<f:setPropertyActionListener value="#{item}" target="#{controller.selectedItem}" /> </p:commandButton>

</p:column>

  • 我有一个删除确认对话框,如下所示:

    <p:commandButton id="confirm" value="Yes"
                        update=":myList" oncomplete="deleteConfirmation.hide()"
                        actionListener="#{controller.delete}" />
                    <p:commandButton id="cancel" value="No"
                        onclick="deleteConfirmation.hide()" type="button" />
    </p:confirmDialog>
    

    
    
除了确认按钮重定向到页面外,一切正常,但如果项目已删除,则已删除的项目仍然存在于列表中。我认为页面在删除操作后不会刷新,因为该项在数据库中被删除,并且工作正常。
您能帮忙吗?

我想您的问题来自:您直接删除到数据库,而不更新datatable的列表。这似乎是一个命名容器问题。你能把你的整页都贴出来吗?最重要的标签在这里,您的确认按钮不做重定向,它只是更新列表。您是否尝试更新整个表单(update=“@form”)?如果是,结果是什么-相同的问题?另一种方法是进行真正的重定向。这将永远有效。(但如果您希望看到“正常”确认对话框的行为,可能会做一些您不想做的事情)我不确定,但由于删除对话框可能与表在同一形式中,所以
:myList
之前的冒号不是指向id为
myList
的根项目吗?如果你移除它会发生什么?另一种选择是检查表的实际id(查看浏览器中生成的代码),并指定完整的id(带冒号);e、 g.
:表格id:表格id