Erro Action Struts 2

3 respostas
M

Pessoal, boa tarde,
estava lendo a apostila fj 28 da caelum e gostei do layout da pagina com o css javascripts etc, fui adaptar ao sistema que estou tentando desenvolver, porem deu um erro em uma action que ja funciona com meu formulario, porem com o formulario copiado do exemplo da apostila da null pointer alguem poderia me ajudar?
segue os codigos:

public class AdicionaContatosAction extends ActionSupport{
/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
private Contato contato;


	@Action(value="adicionaContato", results = {
			@Result(name="ok", location="/contatoCadastrado.jsp")
	})
	
	public String execute() throws Exception {
		new ContatoDAO().cadastraCliente(contato);
		return "ok";
	}

	public Contato getContato() {
		return this.contato;
	}

	public void setContato(Contato contato) {
		this.contato = contato;
	}

	

}
<form id="cadastro" name="cadastro" method="post" action="adicionaContato">
	<fieldset>
		<legend>Adiciona Contatos</legend>
		<label for="contato.matricula">Matrícula:</label>
		<input id="contato.matricula" type="text" size="5" name="contato.matricula"/>
		
		<label for="contato.nomecompleto">Nome Completo:</label>
		<input id="contato.nomecompleto" type="text" size="70" name="contato.nomecompleto"/>
		
		<label for="contato.dt_nascimento">Data Nascimento:</label>
		<input id="contato.dt_nascimento" type="text" size="10" name="contato.dt_nascimento"/>
		
		<label for="contato.celular">Celular:</label>
		<input id="contato.celular" type="text" size="13" name="contato.celular"/>
		
		<label for="contato.telefone">Telefone:</label>
		<input id="contato.telefone" type="text" size="13" name="contato.telefone"/>
		
		<label for="contato.cpf">CPF:</label>
		<input id="contato.cpf" type="text" size="14" name="contato.cpf"/>
		
		<label for="contato.identidade">Identidade:</label>
		<input id="contato.identidade" type="text" size="14" name="contato.identidade"/>
		
		<label for="contato.orgaoexpedidor">Orgão Expedidor:</label>
		<input id="contato.orgaoexpedidor" type="text" size="10" name="contato.orgaoexpedidor"/>
		
		<label for="contato.tituloeleitoral">Título Eleitoral:</label>
		<input id="contato.tituloeleitoral" type="text" size="14" name="contato.tituloeleitoral"/>
		
		<label for="contato.endereco.rua">Rua:</label>
		<input id="contato.endereco.rua" type="text" size="30" name="contato.endereco.rua"/>
		
		<label for="contato.endereco.bairro">Bairro:</label>
		<input id="contato.endereco.bairro" type="text" size="30" name="contato.endereco.bairro"/>
		
		<label for="contato.endereco.numero">Número:</label>
		<input id="contato.endereco.numero" type="text" size="10" name="contato.endereco.numero"/>
		
		<label for="contato.endereco.estado">Estado:</label>
		<select id="contato.endereco.estado" name="contato.endereco.estado">
		<option>Selecione o Estado</option>
        <option>AC</option>
        <option>AL</option>
        <option>AM</option>
        <option>AP</option>
        <option>BA</option>
        <option>CE</option>
        <option>DF</option>
        <option>ES</option>
        <option>GO</option>
        <option>MA</option>
        <option>MG</option>
        <option>MS</option>
        <option>MT</option>
        <option>PA</option>
        <option>PB</option>
        <option>PI</option>
        <option>PR</option>
        <option>RJ</option>
        <option>RN</option>
        <option>RO</option>
        <option>RR</option>
        <option>SE</option>
        <option>SP</option>
        <option>SC</option>
        <option>TO</option>		
		</select>
		
		<label for="contato.endereco.cidade">Cidade:</label>
		<input id="contato.endereco.cidade" type="text" size="30" name="contato.endereco.cidade"/>
		
		<label for="contato.endereco.cep">Cep:</label>
		<input id="contato.endereco.cep" type="text" size="9" name="contato.endereco.cep"/>
		
		<label for="contato.endereco.complemento">Complemento:</label>
		<input id="contato.endereco.complemento" type="text" size="40" name="contato.endereco.complemento"/>
		
		<label for="contato.email">Email:</label>
		<input id="contato.email" type="text" size="50" name="contato.email"/>
		
		
		
		
		<center>
		<button type="submit">Cadastrar</button><button type="reset">Limpar</button></center>
	
	
	</fieldset>

</form>

e olhem o erro:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
	br.com.mensalidade.DAO.ContatoDAO.cadastraCliente(ContatoDAO.java:36)
	br.com.mensalidade.action.AdicionaContatosAction.execute(AdicionaContatosAction.java:24)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:616)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
	com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
	com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
	org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
	com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)

porem no console do eclipse nao da erro nenhum, antes estava dando que nao tinha nenhum result, parou e comecou isso
espero q me ajudem

3 Respostas

L

Opa…blz? Pelo log esta apresentando um java.lang.NullPointerException na classe ContatoDAO.java mas provavelmente o problema é que o teu objeto esta vindo null da tua tela… da uma validada se o objeto esta populado quando chega na action.

M

mas leo…
funciona com o meu form normal, o sistema ja esta funcionando, so estou mudando o layout

L

Opa… é que alteração de layout não deveria te gerar problema, mas eu no teu lugar iria depurar se o teu objeto esta chegando null… caso ele esteja vindo populado o problema não tem nada a ver com a tua troca de layout… ai terias que analisar o teu dao…

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