[RichFaces] rich:panel não é renderizado após minha ação de login

2 respostas
GabrielCardelli

Opa pessoal beleza?
Estou com o seguinte problema:

Tenho minha pagina principal onde tenho os seguintes Paineis:

<rich:panel header="Area do Aluno">
				<h:panelGrid columns="1">
					<rich:messages></rich:messages>
					<h:outputText value="Login" />
					<h:inputText maxlength="20" size="20" style="width: 110px"
						value="#{loginBean.login}" />
					<h:outputText value="Senha" />
					<h:inputSecret value="#{loginBean.senha}" />
					<a4j:commandButton value="Entrar"
						actionListener="#{loginBean.login}" reRender="menuAdmin">
						
						
						</a4j:commandButton>
				</h:panelGrid>
			</rich:panel>

<rich:panel  id="menuAdmin" header="Menu de Administrador"
				rendered="${sessionScope['user'].admin}">

				<table>
					<ul >
						&lt;tr&gt;


							&lt;td&gt;<img  ></img>&lt;/td&gt;
							&lt;td&gt;&lt;rich:dropDownMenu styleClass="a"
								style="border:0px solid" value="Livro" direction="bottom-right"
								jointPoint="tr" hideDelay="10" showDelay="1"&gt;
								&lt;rich:menuItem value="Adicionar" action="gotoAdicionarLivro"&gt;
									&lt;f:facet name="icon"&gt;
										&lt;h:graphicImage value="images/adicionar.png" /&gt;
									&lt;/f:facet&gt;
								&lt;/rich:menuItem&gt;
								&lt;rich:menuItem value="Alterar"&gt;
									&lt;f:facet name="icon"&gt;
										&lt;h:graphicImage value="images/alterar.png" /&gt;
									&lt;/f:facet&gt;
								&lt;/rich:menuItem&gt;
								&lt;rich:menuItem value="Remover"&gt;
									&lt;f:facet name="icon"&gt;
										&lt;h:graphicImage value="images/cancelar.png" /&gt;
									&lt;/f:facet&gt;
								&lt;/rich:menuItem&gt;
							&lt;/rich:dropDownMenu&gt;&lt;/td&gt;

						&lt;/tr&gt;
						&lt;tr&gt;


							&lt;td&gt;<img  ></img>&lt;/td&gt;
							&lt;td&gt;&lt;rich:dropDownMenu styleClass="a"
								style="border:0px solid" value="Aluno" direction="bottom-right"
								jointPoint="tr" hideDelay="10" showDelay="1"&gt;
								&lt;rich:menuItem value="Adicionar" action="gotoAdicionarLivro"&gt;
									&lt;f:facet name="icon"&gt;
										&lt;h:graphicImage value="images/adicionar.png" /&gt;
									&lt;/f:facet&gt;
								&lt;/rich:menuItem&gt;
								&lt;rich:menuItem value="Alterar"&gt;
									&lt;f:facet name="icon"&gt;
										&lt;h:graphicImage value="images/alterar.png" /&gt;
									&lt;/f:facet&gt;
								&lt;/rich:menuItem&gt;
								&lt;rich:menuItem value="Remover"&gt;
									&lt;f:facet name="icon"&gt;
										&lt;h:graphicImage value="images/cancelar.png" /&gt;
									&lt;/f:facet&gt;
								&lt;/rich:menuItem&gt;
								&lt;rich:menuItem value="Liberar Acesso"&gt;
									&lt;f:facet name="icon"&gt;
										&lt;h:graphicImage value="images/cancelar.png" /&gt;
									&lt;/f:facet&gt;
								&lt;/rich:menuItem&gt;
							&lt;/rich:dropDownMenu&gt;&lt;/td&gt;

						&lt;/tr&gt;
						&lt;tr&gt;


							&lt;td&gt;<img  ></img>&lt;/td&gt;
							&lt;td&gt;&lt;rich:dropDownMenu styleClass="a"
								style="border:0px solid" value="Curso" direction="bottom-right"
								jointPoint="tr" hideDelay="10" showDelay="1"&gt;
								&lt;rich:menuItem value="Adicionar" action="gotoAdicionarCurso"&gt;
									&lt;f:facet name="icon"&gt;
										&lt;h:graphicImage value="images/adicionar.png" /&gt;
									&lt;/f:facet&gt;
								&lt;/rich:menuItem&gt;
								&lt;rich:menuItem value="Alterar"&gt;
									&lt;f:facet name="icon"&gt;
										&lt;h:graphicImage value="images/alterar.png" /&gt;
									&lt;/f:facet&gt;
								&lt;/rich:menuItem&gt;
								&lt;rich:menuItem value="Remover"&gt;
									&lt;f:facet name="icon"&gt;
										&lt;h:graphicImage value="images/cancelar.png" /&gt;
									&lt;/f:facet&gt;
								&lt;/rich:menuItem&gt;
								&lt;rich:menuItem value="Liberar Acesso"&gt;
									&lt;f:facet name="icon"&gt;
										&lt;h:graphicImage value="images/cancelar.png" /&gt;
									&lt;/f:facet&gt;
								&lt;/rich:menuItem&gt;
							&lt;/rich:dropDownMenu&gt;&lt;/td&gt;

						&lt;/tr&gt;


					</ul>
				&lt;/table&gt;
			&lt;/rich:panel&gt;

Após eu clicar no primeiro menu no Butão de Login eu envio uma solicitação para minha actionListener

public void login(ActionEvent event){
		logger.log(Level.INFO, "Login: " + login);
		logger.log(Level.INFO, "Senha: " + senha);
		Funcionario fco = dao.openSession(login, senha);
		
		if(aluno == null){
			FacesMessage message = new FacesMessage("Dados Inválidos!");
			FacesContext.getCurrentInstance().addMessage("Dados inválidos!", message);
		}else{
			logger.log(Level.INFO, "Usuário Logado");
			FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("user", fco); 
		}
		
	}

Se encontrar o aluno eu adiciono ele na Session com o nome de user e para mostrar o segundo panel ali encima eu uso:

rendered="#{sessionScope['user'].admin}" - Isso não está renderizando o Panel sozinho, somente quando eu aperto F5.

Alguem poderia me ajudar?

Agradeço desde já.

Abraço, Gabriel Cardelli

2 Respostas

GabrielCardelli

Quando eu mudo do ActionListener para Action com um Naviagtion Rule para a mesma página ocorre um refresh na página toda e com isso o novo Menu aparece, agora com o Rich Faces não estou conseguindo.

Abraço e Obrigado

GabrielCardelli

O Problema persiste =/ se alguem puder ajudar.

Criado 3 de setembro de 2010
Ultima resposta 6 de set. de 2010
Respostas 2
Participantes 1