通过<f:ajax render =“foo,bar”>无法正常更新多个组件</f:ajax>

时间:2015-02-26 00:14:07

标签: ajax jsf jsf-2 rendering

好吧,我有一个删除按钮,当单击此按钮时,该项目将从集合中删除,表单应该是干净的。

所以,这是我的按钮:

<h:panelGroup layout="block" id="divTeste">
            <div class="btn-group" role="group" aria-label="..."
                style="margin-bottom: 10px">
                <h:commandLink actionListener="#{cursoMB.deletarTeste()}"
                    styleClass="btn btn-default">
                    <f:ajax execute="@this" render="divTeste, divTestes" />
                    <i class="fa fa-trash fa-fw"></i>
                </h:commandLink>
            </div>
            <div class="form-group">
                <label>Descrição</label>
                <h:inputText value="#{cursoMB.teste.descricao}"
                    disabled="#{cursoMB.teste == null}" styleClass="form-control" />
            </div>
        </h:panelGroup>

这是ManagedBean中的操作:

public void deletarTeste(){
        if (teste != null){
            bean.getTestes().remove(teste);
            teste = null;
            addInfoMessage("Teste deletado com sucesso");
        }else{
            addErrorMessage("Selecione um teste antes de deletar");
        }
    }

XHTML使用变量teste,当我调用deletarTeste()方法时,此变量更新为NULL,我希望&#34; form-group&#34;干净,但没有任何反应。

重要提示:

如果我只使用1 id进行渲染,请执行以下操作:

<f:ajax execute="@this" render="divTeste" />

而不是:

<f:ajax execute="@this" render="divTeste, divTestes" />

一切正常,但我需要更新2个组件。

0 个答案:

没有答案
相关问题