[RESOLVIDO]Objeto não null

3 respostas
M

ola galera,

me cadastrar manutenir simplesmente parou de funcionar, ele não estar conseguindo setar o objeto, no banco de dados fica null em todo os campos
vou postar minha pagina xhtml e meu managebean

cadManutenir.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.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> 
<body> 
		<ui:composition template="/template.xhtml">
<ui:define name="cadManutenir">

	<h:form id="formManutenir" prependId="false">
	<p:growl id="mensagem" showDetail="true" sticky="true" />
		
			<p:panel id="panelManut" header="Cadastro de Manutenção"
				style="margin-bottom:10px;">
				
				<table width="800px" border="0" cellspacing="1" cellpadding="1"
					align="center">
					<tr>
					<td width="200px"><p:outputLabel value="Nº Patrimonio:" /></td>
					
					
						
						<td>
						
						<p:selectOneMenu id="listaComp" required="true" requiredMessage="Computador é obrigatório" value="#{manutBean.manutenir.fk_computador}"
					immediate="true" >
					<f:selectItem itemLabel="Selecione o Computadir" itemDisabled="true"/>  
					<f:selectItems value="#{manutBean.selectItemComp}"></f:selectItems>
					<f:converter converterId="idConverter"/>
				</p:selectOneMenu> 						
						</td>
					</tr>
					<tr>
						<td><h:outputText value="Data Manutenção:" /></td>
						<td><h:panelGrid columns="1" cellpadding="0">
								<p:calendar value="#{manutBean.manutenir.dataManut}"
									effect="fadeIn" />
							</h:panelGrid></td>
					</tr>
					<tr>
						<td><p:outputLabel value="Atividades" /></td>
						<td><p:inputTextarea value="#{manutBean.manutenir.atividades}" /></td>
					</tr>
					<tr>
						<td><p:outputLabel value="Técnico" /></td>
						<td>
							<p:selectOneMenu id="listaTec" required="true" requiredMessage="O Tecnico é obrigatório" value="#{manutBean.manutenir.fk_tecnico}"
					immediate="true" >
					<f:selectItem itemLabel="Selecione o Tecnico" itemDisabled="true"/>  
					<f:selectItems value="#{manutBean.selectItemTec}"></f:selectItems>
					<f:converter converterId="idConverterTec"/>
				</p:selectOneMenu> 

</td>
					</tr>

					<tr>
						<td><h:commandButton value="Enviar"
								action="#{manutBean.cadastrarManut()}"
								update=":formManutenir" >
								<p:ajax update=":formManutenir"></p:ajax>
								</h:commandButton>
								</td>
						<td></td>
					</tr>
				</table>
				<br />

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



</ui:define>
</ui:composition>
</body> 
</html>

cadManutenirFace.xhtml

@ManagedBean (name="manutBean")
@SessionScoped
public class cadManutenirFace {

	ManutenirDAO manutDAO = new ManutenirDAO();
	Manutenir manutenir = new Manutenir();
	//get set
	public ManutenirDAO getManutDAO() {
		return manutDAO;
	}

	public void setManutDAO(ManutenirDAO manutDAO) {
		this.manutDAO = manutDAO;
	}

	public Manutenir getManutenir() {
		return manutenir;
	}

	public void setManutenir(Manutenir manutenir) {
		this.manutenir = manutenir;
	}





	//FIM GET SET

	//Lista 
	List<Manutenir> lista = manutDAO.listaManut();
	public List<Manutenir> getLista() {
		if (lista==null){
			lista = manutDAO.listaManut();		
		}
		return lista;
	}
	public void setLista(List<Manutenir> lista) {
		this.lista = lista;
	}

	//fim lista

	//cadastrar
	public void cadastrarManut(){		
		try {
			manutDAO.cadastrarManut(manutenir);

			FacesMessage msg = new FacesMessage("Sucesso!","Computador Inserido");  
			FacesContext.getCurrentInstance().addMessage(null, msg);
			lista = null;
		} catch (Exception e) {

			FacesContext context = FacesContext.getCurrentInstance();        
			context.addMessage(null, new FacesMessage("Falha", "Problemas ao cadastrar"+manutenir.getAtividades()));

		}

	}
	//fim cadastrar
	//atualizar
	public void atualizarManut(RowEditEvent event){
		manutenir = (Manutenir) event.getObject();
		manutDAO.atualizarManut(manutenir);
		FacesMessage msg = new FacesMessage("Manuteção Editada");  
		FacesContext.getCurrentInstance().addMessage(null, msg);
	}
	//fim atualizar
	public void prepararManut(){
		manutenir = new Manutenir();

	}
	public void deletarManut(){
		manutDAO.excluirManut(manutenir);
		lista = null;
	}
	public void cancelar(RowEditEvent event){
		lista = null;
		FacesMessage msg = new FacesMessage("Cancelado");  
		FacesContext.getCurrentInstance().addMessage(null, msg);
	}
	public void limpaLista(){
		lista = null;
	}

	ComputadorDAO compDAO = new ComputadorDAO();

	public List<SelectItem> getSelectItemComp(){
		try{
			List<Computador> lista = compDAO.listaComp();
			List<SelectItem> listaRetorno = new LinkedList<SelectItem>();
			for(Computador c : lista){
				listaRetorno.add(new SelectItem(c, c.getPatrimonio())); 
			}
			return listaRetorno;
		}catch(Exception e){
			return null;
		}
	}
	TecnicoDAO tecDAO =new TecnicoDAO();


	public List<SelectItem> getSelectItemTec(){
		try{
			List<Tecnico> lista = tecDAO.getListaTecnico();
			List<SelectItem> listaRetorno = new LinkedList<SelectItem>();
			for(Tecnico t : lista){

				listaRetorno.add(new SelectItem(t, t.getUsuario())); 
			}
			return listaRetorno;
		}catch(Exception e){
			return null;
		}
	}


	BuscaManut busca = new BuscaManut();
	public BuscaManut getBusca() {		
		return busca;
	}

	public void setBusca(BuscaManut busca) {
		this.busca = busca;
	}

	public void buscar(){
		buscaLista = manutDAO.buscarManutenir(busca.getPat(), busca.getData1(), busca.getData2());

	}

	List<Manutenir> buscaLista = manutDAO.buscarManutenir(busca.getPat(), busca.getData1(), busca.getData2());
	public List<Manutenir> getBuscaLista() {
		if (lista==null){
			buscaLista = manutDAO.buscarManutenir(busca.getPat(), busca.getData1(), busca.getData2());
		}return buscaLista;
	}

	public void setBuscaLista(List<Manutenir> buscaLista) {
		this.buscaLista = buscaLista;
	}


}

aparentemente tudo certo, mais objeto em branco.. Socorro!! alguem ai com ideias? socorro !!

3 Respostas

J

Fala amigo, vou tentar te ajudar.

Primeiro... remova todos os immediate="true" que você tem. Essa flag faz com que a pagina pule a fase de validação dos campos do JSF e faz com que as variáveis não sejam populadas também.

Segundo... no método cadastrarManut veja se as informações da tela estão no objeto (utilize o debug), caso sim seu problema está no DAO, caso não pode ser configuração ainda.

**Importante, quando você tirar o immediate=true faça sua tela funcionar corretamente (verifique cada componente, objeto que está na tela e veja se está corretamente declaro / inicilizado)

Qualquer problema, posta ai!

M

o problema era na pagina mesmo… resolvi tirando essa linha <p:ajax update=":formManutenir"></p:ajax>

valeu pela ajuda.

J

Boa… Sucesso ai! :smiley:

Criado 21 de abril de 2013
Ultima resposta 22 de abr. de 2013
Respostas 3
Participantes 2