Diaglo com selectonemenu com erro

1 resposta
LucianoTulio

Estou apenas fazendo um insert apartir de um formulario
que esta dentro de um dialogo com select on menu

acho que estou manipulando errado, mas segue meu codigo

//codigo do view jsf 2 com primefaces 

<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:p="http://primefaces.org/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets">  
  
     <h:head >  
  					<title>Cadastro de Obrigacoes</title>
     			<f:metadata>  
    			<f:event type="preRenderView" listener="#{cadastroClienteControle.inicializar()}"/>  		
			</f:metadata> 
  	</h:head>  
      
    <h:body>
    	<p:layout style="height:1200; widht:500">
 				<p:layoutUnit position="north" style="height:30%"> 
 					
 				</p:layoutUnit>
 				
                                <p:layoutUnit position="center" style="height:500">
 					<h:form id="form">
 						<p:dataTable  var="lista" value="#{cadastroClienteControle.clientes}" id="listaCliente"
 			      					  style="width:50%" border="3" scrollable="true" scrollHeight="370">
 							<f:facet name="header">Lista de Clientes</f:facet>
	      				    	<p:column filterBy="#{lista.razao}" width="300">
	      							<f:facet name="header">Nome</f:facet>
	      							<h:outputText value="#{lista.razao}" />
	      						</p:column>
	      						<p:column  headerText="CNPJ" width="140">
	      							<h:outputText value="#{lista.cnpj}" />
	      						</p:column>
	      						<p:column width="40">
	      								<f:facet name="header"> Ações</f:facet>
	 									<p:commandLink title="cadastrar" oncomplete="dlg.show();" 
	 											 update=":formDialogo:iddialogo " immediate="true">	
	      									<p:graphicImage value="/imagens/tick_button.png" />
	      									<f:setPropertyActionListener target="#{cadastroClienteControle.clienteselecionado}" value="#{lista}"/>
	      								</p:commandLink>
									</p:column>
 						</p:dataTable>
 					</h:form>
 				</p:layoutUnit>
 		</p:layout>  
 		<h:form id="formDialogo">
	      	
 				<p:dialog  header="Cadastrar Obrigacão" widgetVar="dlg" modal="true" showEffect="explode" hideEffect="explode"
 				resizable="false" style="font-size:10pt;color:blue" position="top" id="iddialogo" width="300">  
    				<p:panelGrid columns="2">
    				 <h:outputText value="Razao" />
    				 <h:outputText value="#{cadastroClienteControle.clienteselecionado.razao}" />	
    				 <h:outputText value="CNPJ" />
    				 <h:outputText value="#{cadastroClienteControle.clienteselecionado.cnpj}" />	
			         
			        <h:outputText value="Tipo da Obrigação" />
			        
			       		 <p:selectOneMenu  height="350" value="#{cadastroClienteControle.tipo_obrigacoesselecionado}"  >
			    			        <f:selectItem itemLabel="Select One" itemValue="" />  
			    			<f:selectItems value="#{cadastroClienteControle.tipo_obrigacoes}"  
			       				 var="tipo" itemLabel="#{tipo.tipo}" itemValue="#{tipo.id}"/>
			                    
			            </p:selectOneMenu> 
			           
			          
			         <h:outputText value="Ano" />
			        
			       		 <p:selectOneMenu  height="350" value="#{cadastroClienteControle.anoselecionado}"  >
			    			<f:selectItem itemLabel="Select One" itemValue="" />  
			    			<f:selectItems value="#{cadastroClienteControle.anos}"  
			       				 var="ano" itemLabel="#{ano}" itemValue="#{ano}"/>
			        				
			            </p:selectOneMenu> 
			           
			          <h:outputText value="Mes" />
			        
			       		 <p:selectOneMenu  height="350" value="#{cadastroClienteControle.messelecionado}"  >
			    			        <f:selectItem itemLabel="Select One" itemValue="" />  
			    			<f:selectItems value="#{cadastroClienteControle.meses}"  
			       				 var="mes" itemLabel="#{mes.nome}" itemValue="#{mes.id}"/>
			             
			            </p:selectOneMenu>   
			            
			         <f:facet name="footer">
		 	 			<div align="center" >
		 	 				 <p:commandButton value="Cadastrar"  update=":form" action="#{cadastroClienteControle.cadastrar()}" oncomplete="dlg.hide()" />
		 	 			</div>
		 	 	     </f:facet>
		 	 		</p:panelGrid>
    		</p:dialog>
    	</h:form> 	
 	</h:body>
 
</html>

essa view apenas pega do formulario e salva no banco, os metodos no dao estao funcionando pq ja realizei os testes

agora ele nao acusa erro mas nao salva

segue abaixo o bean que trata essa

public String cadastrar(){
		
		obrigacoes.setCliente(this.clienteselecionado);
		obrigacoes.setAno(this.anoselecionado);
		obrigacoes.setMes(this.messelecionado);
		obrigacoes.setTipo_obrigacoes(this.tipo_obrigacoesselecionado);
		obrigacoes.setData_insercao(pegarDataSistema());
		obrigacoes.setStatus(statusdao.buscarStatus(1));
		obrigacoes.setData_vencimento(data_vencimentodao.buscarDataVencimento(this.messelecionado.getId(),this.anoselecionado,this.tipo_obrigacoesselecionado));
		obrigacoes.setCaminho("Inserida manualmente");
		
		System.out.println(obrigacoes);
		
		if(obrigacoes.getTipo_obrigacoes().getId()==1){
			new CadastroDCTF().cadastrarDCTF(obrigacoes);
			System.out.println("cadastrado");
		}
		
		System.out.println("teste");
		return "cadastroobrigacoes?faces-redirect=true";
	}

o TipoObrigacoes e Mes são tabelas do meu banco logo sao objetos

que estão na select one menu, qdo tento salvar eles

não acusa erro, mas nao cadastra e qdo tento acessar o dialogo dnovo

acusa erro no visual dos 2 select one menu

1 Resposta

Alys

Olá,

Você já tentou debugar o código, para ver se os dados estão preenchidos conforme esperado, e até que ponto o código está sendo executado, e qual caminho está seguindo?

Outra coisa, qual o erro aparece no log quando você tenta acessar de novo?

Por último esse bean, creio que CadastroClienteControle, está com qual escopo?

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