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