Nem todos os atributos do objeto aparecem no form

3 respostas
luceliopv

Bom dia,

Gostaria da ajuda dos colegas, estou com um form onde exibo dados do usuário, quando clico no botão localizar eu pesquiso um usuario em outro fom e quando seleciono o mesmo quero que os dados venham pro primeiro form.

Isso está funcionando mas pela metade, apenas alguns campos vem e outros não, já coloquei uma mensagem no system e vejo que todos os atributos estão dentro do objeto, mas não sei porque alguns não aparecem na tela.

Se alguém puder me ajudar, fico grato

form_usuario
<ui:composition 
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui"
	 template="/templates/template.xhtml"> 
	 
	    <ui:define name="title">#{msg.tituloUsuario}</ui:define>  
        <ui:define name="tituloConteudo">#{msg.tituloUsuario}</ui:define>  
        <ui:define name="content">  
	
    <f:view>
        <h:form id="formGeral">  
                 
          <p:panel header="Novo Usuário" style="width:80%; margin: 5% 10%;" >    
             <h:panelGrid id="painelGrid" columns="5" cellpadding="10" >  
            		
              <p:commandButton id="btnNovo" action="#{usuarioMB.novo()}" value="Novo"
						disabled="#{!usuarioMB.novo}" update="formGeral" />

                   <p:commandButton id="btnLocalizar" value="Localizar" 
                   		oncomplete="localizar.show()" update="formDialog" cellpadding="5"/>    
                    <p:commandButton id="btnSalvar" value="Salvar" 
                    	action="#{usuarioMB.salvar}" update="formGeral"/>    
       					
       				<p:commandButton id="btnExcluir" value="Excluir" action="#{usuarioMB.remover()}"  
       				disabled="#{!usuarioMB.novo}" update="formGeral" cellpadding="5"/>  
       				
       				<p:commandButton id="btnCancelar" value="Cancelar" action="#{usuarioMB.novo()}"  
       				update="formGeral" cellpadding="5"/>
				
                </h:panelGrid>  
                      
                <h:form id="formCadastro">  
                	<h:panelGrid columns="4" cellpadding="5" >
                	
                     <h:outputText value="Nome: *" />    
                     <p:inputText id="Nome" value="#{usuarioMB.usuario.nom_usuario}" 
                     	required="true" label="Nome">
                     	<p:focus />
                     </p:inputText> 
                   
                     <h:outputText value="Usuário *" />    
                     <p:inputText id="Usuario" value="#{usuarioMB.usuario.usu_apelido}" 
                     	required="true" requeridMessage="Informe seu nome de Usuário" label="Usuario">
                     	<p:focus />
                     </p:inputText> 
                     
                     <h:outputText value="Senha *" />    
                      <p:password value="#{usuarioMB.usuario.sen_usuario}" id="Senha" required="true" label="Senha"
                        promptLabel="Segurança" weakLabel="Fraca"  
                        goodLabel="Média" strongLabel="Forte" />        
                        
                     <h:outputText value="Confirma Senha *"/>    
                      <p:password value="#{usuarioMB.usuario.sen_usuario}" id="Confirma_Senha" label="Confirma Senha" required="true" feedback="false"/> 
												                    
                     <h:outputText value="CPF:" />    
                     <p:inputMask id="Cpf" value="#{usuarioMB.usuario.cpf_usuario}" required="false" label="Cpf" mask="999-999-999-99" />    
                  
                     <h:outputText value="RG:" />  
					 <p:inputText immediate="true" id="Rg" value="#{usuarioMB.usuario.reg_usuario}" required="false"/>  
					   					
				     <h:outputText value="Email: *" />  
					 <p:inputText id="Email" value="#{usuarioMB.usuario.ema_usuario}" label="Email" required="true"/>  
								
    			  	<h:outputText value="Situação: *" /> 
				   	<h:selectOneRadio id="situacaoid" required="true" value="#{usuarioMB.usuario.sit_usuario}" >  
           				<f:selectItem itemValue="S" itemLabel="Ativo"/>  
           				<f:selectItem itemValue="N" itemLabel="Inativo"/>  
    				</h:selectOneRadio>   
    					  					
    			
                	</h:panelGrid>
                </h:form>   
                               
               <p:messages /> 
            </p:panel>  
                                  
          </h:form>    
        </f:view>   
                 
        
        
            <!-- FORM PESQUISA  -->  
            <p:dialog id="dialog" header="Localizar Usuário:" widgetVar="localizar" modal="true" immediate="true"  
                width="800" height="400" resizable="false" onCloseUpdate="formGeral"  >    
                   <h:form id="formDialog">    
                    	<p:dataTable id="tbUsuario" value="#{usuarioMB.listaUsuarios}" 
                    	var="usuario" border="1" cellspacing="0">
			
					<p:column>
						<f:facet name="header">
							<h:outputText value="Código" />
						</f:facet>
						<h:outputText value="#{usuario.cod_usuario}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="Nome" />
						</f:facet>
						<h:outputText value="#{usuario.nom_usuario}" />
					</p:column>
				
					
					<p:column style="width:50px">  
						<p:commandButton id="editar" action="#{usuarioMB.editar(usuario)}" 
											 oncomplete="localizar.hide()" image="ui-icon ui-icon-pencil" style="width:28px;height:28px" title="Edit"/>  
				   	</p:column>  

				</p:dataTable>
              </h:form>
            </p:dialog>       
            <!-- FORM PESQUISA  -->  

                      
    
	</ui:define>          
 </ui:composition>
managedBean
package managedBean;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.el.ELContext;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManager;

import model.Usuario;
import msg.MensagemFace;
import service.Session;

@ManagedBean(name = "usuarioMB")
@ViewScoped
public class UsuarioMB implements Serializable {

	private static final long serialVersionUID = -7559464920709091693L;
	private Usuario usuario;
	private List<Usuario> listaUsuarios = new ArrayList<Usuario>();
	
	private boolean novo;
	
	@PostConstruct
	public void create() {
		novo();
		alimentaLista();
		novo = false;
	}
	
	public void novo() 
	{		
		usuario = new Usuario();
		usuario.setSit_usuario("S");
		novo = false;
	}
	
	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	
	
	public void remover() 
	{
		setUsuario(getEm().getReference(Usuario.class, getUsuario().getCod_usuario()));
		getEm().remove(getUsuario());
		
		MensagemFace.showMessage("usuarioRemovido", getUsuario().getNom_usuario());
		
		novo();
		alimentaLista();
	}
	
	public void editar(Usuario usuario) {
		setUsuario(usuario);
	    alimentaLista();
		novo = true;
	}
	
	public void salvar()
	{	
		System.out.println("SALVAR");
				
		if (usuario.getCod_usuario() != null) 
		{
			//alteracao
			usuario.setCod_usuario_alteracao(Session.getUsuarioLogado().getCod_usuario());
			usuario.setDat_alteracao(new Date());
			getEm().merge(getUsuario());
			System.out.println("alterou");
		} else {
			//inserção
			usuario.setCod_usuario_cadastro(Session.getUsuarioLogado().getCod_usuario());
			usuario.setDat_cadastro(new Date());
			getEm().persist(getUsuario());
			System.out.println("salvou");
		}
		getEm().flush();
		alimentaLista();
		novo = true;
		
		MensagemFace.showMessage("usuarioSalvo", getUsuario().getNom_usuario());
		System.out.println("mostrou msg");
	}
	
	@SuppressWarnings("unchecked")
	public void alimentaLista()
	{
		setListaUsuarios(getEm().createQuery("from Usuario").getResultList());
	}
	
	public String entrar()
	{
		if ( autenticar()) 
		{
			Session.setUsuarioLogado(getUsuario());//joga usuario na session
			MensagemFace.showMessage("loginSucess", getUsuario().getCod_usuario());
		
			return "privado/principal.jsf?faces-redirect=true";
		 } else
		 {
			 MensagemFace.showMessage("loginFalha", getUsuario().getCod_usuario());
			 return "/login.jsf";
		 }
	}
	
	
	public boolean autenticar(){
	    javax.persistence.Query q = getEm().createQuery("from Usuario where ema_usuario = :email and sen_usuario = :senha");        
        q.setParameter("email", usuario.getEma_usuario());
        q.setParameter("senha", usuario.getSen_usuario());
	    	if(q.getResultList().isEmpty())
        	{
        		return false;
           	}else{
        		return true;
        	}
         }
		
	public boolean isNovo() {
		return novo;
	}

	public void setNovo(boolean novo) {
		this.novo = novo;
	}
	
	
	public String sair() 
	{
		return Session.logoff();
	}
	
	public EntityManager getEm() {
		ELContext el = FacesContext.getCurrentInstance().getELContext();

		return (EntityManager) FacesContext.getCurrentInstance()
				.getApplication().getELResolver()
				.getValue(el, null, "entityManager");

	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((listaUsuarios == null) ? 0 : listaUsuarios.hashCode());
		result = prime * result + (novo ? 1231 : 1237);
		result = prime * result + ((usuario == null) ? 0 : usuario.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		UsuarioMB other = (UsuarioMB) obj;
		if (listaUsuarios == null) {
			if (other.listaUsuarios != null)
				return false;
		} else if (!listaUsuarios.equals(other.listaUsuarios))
			return false;
		if (novo != other.novo)
			return false;
		if (usuario == null) {
			if (other.usuario != null)
				return false;
		} else if (!usuario.equals(other.usuario))
			return false;
		return true;
	}

	public void setListaUsuarios(List<Usuario> listaUsuarios) {
		this.listaUsuarios = listaUsuarios;
	}

	public List<Usuario> getListaUsuarios() {
		return listaUsuarios;
	}
	
	
	
}

3 Respostas

T

Opá lucelio…

Quais são os campos que estão carregando normalmente?? e os que não estão carregando??

Sinistro hein :?

Att…

luceliopv

Opa, os que ele consegue jogar no form são nome, usuario e senha.

Cpf, rg e email ele não consegue, penso que deve dar erro no cpf e ele não termina de distribuir os atributos.

Obrigado

luceliopv

Pessoal, descobri que quando eu coloco required=“true” o campo aparece :shock:
Mas com false ele tb não aparece mesmo

Alguém poderia me ajudar
Muito Obrigado

Criado 25 de julho de 2011
Ultima resposta 26 de jul. de 2011
Respostas 3
Participantes 2