Java.lang.NullPointerException

A ideia é a seguinte, tenho uma tabela listando os clientes, com um campo atualizar. Quando clicado dobre ele, chama-se AtualizaClienteAction e passa o id do cliente. Depois, teria de ser redirecionado para a pagina atualizar_cliente.jsp para ele poder modificar os dados.

Vejam o codigo. Ta dando a seguinte exception:

exception

javax.servlet.ServletException
	org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

java.lang.NullPointerException
	br.com.marcelo.action.AtualizaClienteAction.execute(AtualizaClienteAction.java:21)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

AtualizarClienteForm

package br.com.marcelo.form;

import org.apache.struts.action.ActionForm;

public class AtualizaClienteForm extends ActionForm{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 7362111257516189451L;
	private Long id;
	private String nome, email, cidade;
	
	public String getCidade() {
		return cidade;
	}
	public void setCidade(String cidade) {
		this.cidade = cidade;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
}

AtualizarClienteAction

package br.com.marcelo.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import br.com.marcelo.form.AtualizaClienteForm;
import br.com.marcelo.hibernate.DAO;
import br.com.marcelo.modelo.Cliente;

public class AtualizaClienteAction extends Action{
	
	@Override
	public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception {
		
		AtualizaClienteForm c = (AtualizaClienteForm) form;
		Long id = c.getId();
		DAO<Cliente> dao = new DAO<Cliente>(Cliente.class);
		Cliente cliente = dao.pesquisa(id);
		
		req.setAttribute("cliente", cliente);
		
		return map.findForward("ok");
	}

}

Atualizar_cliente.jsp

 <%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html"%>
 <%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean"%>
 
 <html:html>
 
 <html:form action="/atualizarcliente" focus="nome">
 	nome <html:text property="nome" value="${cliente.nome}" size="20"/> <br>
 	email <html:text property="email" value="${cliente.email}" size="20"/><br>
 	cidade <html:text property="cidade" value="${cliente.cidade}" size="20"/><br>
 	<html:submit> atualizar </html:submit>
 </html:form>
 
 </html:html>

struts-config.xml

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"         "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
	
	<form-beans>
			<form-bean type="br.com.marcelo.form.AtualizaClienteForm" name="AtualizaClienteForm"/>
	</form-beans>
	
	
	<action-mappings>
		
			<action path="/atualizarcliente" type="br.com.marcelo.action.AtualizaClienteAction" name="AtualizarClienteForm" >
			<forward name="ok" path="/atualizar_cliente.jsp"/>			
		</action>
		
	</action-mappings>
	
	<message-resources parameter="MessageResources"/>
	
</struts-config>

Opa

Você já fez debug disso tudo aí? :confuso:

T+

o erro ta nesta linha:

Long id = c.getId();