Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
JSF2和x2B;Richfaces:Ajax仅在第二次单击后才会呈现表_Ajax_Jsf 2_Richfaces - Fatal编程技术网

JSF2和x2B;Richfaces:Ajax仅在第二次单击后才会呈现表

JSF2和x2B;Richfaces:Ajax仅在第二次单击后才会呈现表,ajax,jsf-2,richfaces,Ajax,Jsf 2,Richfaces,我在JSF2中使用Ajax渲染时遇到问题。我在表格列中有一个命令按钮,可以从表格中删除一项。单击该按钮时,将执行该操作并从数据库中删除该项,但不会从表(视图)中删除该项。第二次单击时,将执行ajax渲染,然后更新视图。我不知道是什么原因造成的。起初,我认为这可能是JSF规范790的问题,但我的行动被解雇了。只是ajax渲染没有被执行 我正在使用JSF2.1.14+RichFaces4.2.3 如果你想帮忙,这里有部分代码 <a4j:outputPanel id="ajaxOutpu

我在JSF2中使用Ajax渲染时遇到问题。我在表格列中有一个命令按钮,可以从表格中删除一项。单击该按钮时,将执行该操作并从数据库中删除该项,但不会从表(视图)中删除该项。第二次单击时,将执行ajax渲染,然后更新视图。我不知道是什么原因造成的。起初,我认为这可能是JSF规范790的问题,但我的行动被解雇了。只是ajax渲染没有被执行

我正在使用JSF2.1.14+RichFaces4.2.3

如果你想帮忙,这里有部分代码

    <a4j:outputPanel id="ajaxOutputPanel">
        <rich:panel id="panelOrgaoList">
            <div class="results" id="orgaoList">
                <h:outputText value="No results."
                    rendered="#{empty orgaoList.resultList}" />
                <h:form id="formTable">
                    <rich:dataTable id="orgaoTable" var="_orgao"
                        rowClasses="odd-row, even-row"
                        value="#{orgaoList.resultList}"
                        rendered="#{not empty orgaoList.resultList}" 
                        styleClass="stable">
                        <rich:column>
                            <f:facet name="header">
                                <ui:include src="layout/sort.xhtml">
                                    <ui:param name="entityList" value="#{orgaoList}" />
                                    <ui:param name="propertyLabel" value="Id" />
                                    <ui:param name="propertyPath" value="orgao.id" />
                                </ui:include>
                            </f:facet>
                            <h:outputText value="#{_orgao.id}" />
                        </rich:column>
                        <rich:column>
                            <f:facet name="header">
                                <ui:include src="layout/sort.xhtml">
                                    <ui:param name="entityList" value="#{orgaoList}" />
                                    <ui:param name="propertyLabel" value="Name" />
                                    <ui:param name="propertyPath" value="orgao.name" />
                                </ui:include>
                            </f:facet>
                            <h:outputText value="#{_orgao.name}" />
                        </rich:column>
                        <rich:column>
                            <f:facet name="header">
                                <ui:include src="layout/sort.xhtml">
                                    <ui:param name="entityList" value="#{orgaoList}" />
                                    <ui:param name="propertyLabel" value="Tel" />
                                    <ui:param name="propertyPath" value="orgao.tel" />
                                </ui:include>
                            </f:facet>
                            <h:outputText value="#{_orgao.tel}" />
                        </rich:column>
                        <rich:column styleClass="action">
                            <s:link view="/#{empty from ? 'Orgao' : from}.xhtml"
                                propagation="#{empty from ? 'none' : 'default'}"
                                id="orgaoViewId">
                                <f:param name="orgaoId" value="#{_orgao.idOrgao}" />
                                <h:graphicImage value="/img/view2.png" />
                            </s:link>
                         #{' '}
                        <s:link view="/OrgaoEdit.xhtml" propagation="none"
                                id="orgaoEdit" rendered="#{empty from}">
                                <h:graphicImage value="/img/edit2.png" />
                                <f:param name="orgaoId" value="#{_orgao.id}" />
                            </s:link>
                         #{' '}
                         <h:commandButton immediate="true" actionListener="#{orgaoList.remover(_orgao.id)}" image="/img/remove2.png">
                            <f:ajax render=":ajaxOutputPanel :formTable" />
                         </h:commandButton>
                        </rich:column>
                    </rich:dataTable>               
                </h:form>
            </div>
        </rich:panel>
    </a4j:outputPanel>

#{' '}
#{' '}

谢谢

为了避免显而易见的问题,
{orgaoList.remover(_orgao.id)}
代码是否也从
{orgaoList.resultList}
后面的列表中删除了该项,或者至少从数据库中重新加载整个列表?如果不确定,请发布您如何管理
resultList
属性的相关代码。您好,巴卢斯克,首先感谢您的快速回答。该项目正在被删除,我在数据库中进行了检查。当我刷新页面时,视图将被更新,并且该项将从表中删除。我还调试了bean代码。好吧,现在我觉得自己很愚蠢。巴卢斯你是对的。问题出在结果列表中。我使用的是jboss seam(我是新手),所以我使用了它提供的EntityQuery类来列出实体。删除实体后,这个实体仍然存在于结果列表中,因此我调用了refresh()方法并进行了处理。我只想说你的回答,在很多话题上,对我帮助很大。非常感谢。