[RESOLVIDO]Primefaces dúvida!

4 respostas
Cledsonjr

Bom dia!

Estou desenvolvendo um projeto com o primefaces, ele está funcionando normalmente.
Deixe-me descrever o problema:

Se eu não logar o menu funciona normalmente, mas quando logo ele não funciona no primeiro click. Depois que clico a segunda vez ele volta a funcionar belezinha!

Os itens do menu chamam um @ManagedBean só para redirecionar a página.

<p:submenu label="Aluno" icon="ui-icon-document">  
                <p:menuitem value="Solicitar Matrícula" actionListener="#{menuControle.alunoAdmin}" /> 
                            <p:separator /> 
                <p:menuitem value="Consultar Matrícula" actionListener="#{menuControle.consultarAlunoAdmin}" />  
                
        </p:submenu>
A Classe ela possui mais métodos com a mesma função, porem não coloquei para não ficar muito grande:
@ManagedBean
@SessionScoped
public class MenuControle{
	public void consultarAlunoAdmin(ActionEvent actionEvent) {
		try {
			FacesContext
					.getCurrentInstance()
					.getExternalContext()
					.redirect(
							"/MatriculaOnline/pages/protected/admin/normal/pesquisarAluno.xhtml");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
***

Alguem sabe o pq isso acontece?
Sou novo no desenvolvimento e não sei o pq está acontecendo isso. Será q é pq o objeto não está inicializado e ao clicar a primeira vez ele inicializa? Ou estou falando besteira?hehe
Há e estou trabalhando com sessão!

4 Respostas

Rodrigo_Sasaki

Você tem forms aninhados ?

Cledsonjr

Olha todos seguem esse "padrão", não estão aninhados.

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

<h:head>
	<title>Escola</title>
</h:head>
<h:body>
<ui:include src="/pages/protected/admin/menu/menu.xhtml" />
	<h:form>
		<p:panel header="Cadastro">

			<h:panelGrid id="grid" columns="3" style="margin-bottom:10px"
				cellspacing="10">

				<h:outputLabel for="nomeEscola" value="Escola:" />
				<h:inputText id="nomeEscola" value="#{escolaControle.escola.nome}"
					maxlength="50" size="50" required="true"
					requiredMessage="Campo Aluno é Obrigatório." />
				<p:message for="nomeEscola" />

				<h:outputLabel for="inep" value="Inep:" />
				<h:inputText id="inep" value="#{escolaControle.escola.inep}"
					maxlength="50" size="50" required="true"
					requiredMessage="Campo Mãe é Obrigatório." />
				<p:message for="inep" numeric="true"/>

				<h:outputLabel for="bairroEscola" value="Bairro:" />
				<h:inputText id="bairroEscola" value="#{escolaControle.escola.bairro}"
					maxlength="50" size="50" required="true"
					requiredMessage="Campo Responsável é Obrigatório." />
				<p:message for="bairroEscola" />

				<br />

				<p:commandButton value="Confirmar"
								actionListener="#{escolaControle.cadastrarEscola}" />

			</h:panelGrid>
		</p:panel>
	</h:form>

</h:body>
</html>

Menu

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"  
	xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>

<h:form>   
    <p:menubar autoDisplay="true" autoSubmenuDisplay="true">  
        <p:submenu label="Aluno" icon="ui-icon-document">  
                <p:menuitem value="Solicitar Matrícula" actionListener="#{menuControle.alunoAdmin}" /> 
                            <p:separator /> 
                <p:menuitem value="Consultar Matrícula" actionListener="#{menuControle.consultarAlunoAdmin}" />  
                
        </p:submenu>  
        
        <p:submenu label="Escola" icon="ui-icon-document">  
                <p:menuitem value="Cadastar Escola" actionListener="#{menuControle.cadastrarEscola}" />  
            <p:separator /> 
            	<p:menuitem value="Alterar Escola" actionListener="#{menuControle.alterarEscola}" />  
        </p:submenu> 
        
                <p:submenu label="Composicao" icon="ui-icon-document">  
                <p:menuitem value="Cadastar composicao" actionListener="#{menuControle.cadastrarComposicao}" />  
            <p:separator /> 
            	<p:menuitem value="Alterar Composicao" actionListener="#{menuControle.alterarComposicao}" />  
        </p:submenu> 
        <p:submenu label="Usuario" icon="ui-icon-document">  
                <p:menuitem value="Cadastar usuario" actionListener="#{menuControle.cadastrarUsuario}" />  
            <p:separator /> 
        </p:submenu> 

  
    </p:menubar>   
  
</h:form> 
</h:body>
</html>
E

Particularmente uso de maneira diferente nos includes. Neles, faço o seguinte:

<?xml version='1.0' encoding='UTF-8' ?>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html">

Veja se isso não influencia no seu caso.

Cledsonjr
edudebom:
Particularmente uso de maneira diferente nos includes. Neles, faço o seguinte:
<?xml version='1.0' encoding='UTF-8' ?>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html">

Veja se isso não influencia no seu caso.

Vlw pela resposta, mas não funcionou.

Criado 13 de setembro de 2012
Ultima resposta 13 de set. de 2012
Respostas 4
Participantes 3