Richfaces -> modalPanel (dependendo do retorno)

Pessoal, Bom Dia!!

Segue dúvida:

Tenho uma xhtml que apresenta um Richfaces ModalPanel quando clica no botão Excluir.

-modalPanel :
<rich:modalPanel id=“modalDelete” width=“350” height=“170” moveable=“false” resizeable=“false”>
…codigo
</rich:modalPanel>

-chamada:
<a4j:commandButton value="#{labels[‘delete’]}" onclick="#{rich:component(‘modalDelete’)}.show()" rendered="#{clientManager.persisted}"
/>

Nesse caso sempre que o usuário clica no botão Excluir , esse modalPanel irá aparecer.

Agora tem outra situação que preciso da ajuda de vocês. Supondo que eu tenha definido 2 modalPanel, como faço para na hora que o usuário clicar no botão excluir, eu mostra um ou outro?

Situação:
Dependendo do registro a ser excluído, possa ser que ocorra uma verificação e conforme o retorno dessa verificação , aí sim determino qual dos dois modalPanel irá aparacer.

Por exemplo: verificação retornou TRUE, então mostra o modalPainel1 se retorno FALSE retorna o modalPainel2.

–metodo de verificação na classe
private boolean isEndpointOrganizationExists() {

boolean inExists = false;
	
HibernateSessionProxy session = ((HibernateSessionProxy) entityManager.getDelegate());

Criteria criteriaEndpoint = 

session.createCriteria(ConnectorEndpoint.class);		
criteriaEndpoint.add(Restrictions.eq("organization", this.organization));	
	
List<ConnectorEndpoint> resultEndpointTypeList = criteriaEndpoint.list();
	
if (resultEndpointTypeList == null || resultEndpointTypeList.size() == 0) {
    inExists = false;			
} else {		
   inExists = true;	
}		
	
   return inExists;

}

Alguem pode me ajudar???

Grata,

Izaura

Seta um atributo no metodo de exclusão.

E retorna a navegação para mesma página.

Ai tu usa o rendered mesmo. Se o atributo que você setou for true vc mostra um se não mostra outro.

Deu pra entender?

Olá Tiago!

Valew pela dica.

Teoricamente eu entendi, vou tentar por na prática … rs … ainda não tenho muita experiencia e algumas coisas faceis parecem complexas … rs

Se por acaso vc tiver algum exemplo na hora do rendered (Ai tu usa o rendered mesmo. Se o atributo que você setou for true vc mostra um se não mostra outro) eu agradeço.

Izaura

Faz mais ou menos assim:

Cria um atributo boolean. la na sua action. Cria fora do seu metódo ela e gera os getters e setters.

Seta eles no final do seu metodo de exclusão se é true ou false.

Ai no seu rendered vc usa assim.

private Boolean mostra;

	public Boolean getMostraPainel() {
		return mostraPainel;
	}

	public void setMostraPainel(Boolean mostraPainel) {
		this.mostraPainel = mostraPainel;
	}

rendered="#{suaAction.mostra}" // Vai mostrar caso o mostra for true.

rendered="#{! suaAction.mostra}" // Vai mostrar caso o mostra for false.

Obs. Quando for colocar algum código aqui utilize as tags [code] e coloca o codigo entre elas pra ficar legivel.

Inté.