dúvidas urgente struts

Sou novo em struts to com uma dúvida aqui.
To criando um projetinho simples de inclusão,alteração e exclusão de contatos para efeito didático, inclusive código de uma apostila da caelum

Acredito q to com problemas de versão do java…o meu é o 1.4 e a apostila é o 1.5

To com problema no hora de mostrar o formulário com os dados para alterar.

Tenho uma action:

public class MostraContatoAction extends Action {
	public ActionForward execute(ActionMapping map, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		Contato contato = ((ContatoForm) form).getContato();
		Contato encontrado = new ContatoDAO().procura(contato.getNome());
		request.setAttribute("contato",encontrado);
		
		return map.findForward("mostra");
	}
}

Tenho meu struts-config:

        <action
        	path="/mostraContato"
        	type="br.com.rodrigo.struts.action.MostraContatoAction"
        	name="ContatoForm">
        	<forward name="mostra" path="/pages/mostra.jsp"/>
        </action>

Tenho minha página jsp assim:

<%@page pageEncoding="Cp1252" contentType="text/html; charset=Cp1252" %>
<%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %>

<html:html>
<head><title>Sistema Teste Struts</title></head>
<html:errors/>
<html:form action="/alteraContato">
	Nome: <html:text property="contato.nome"></html:text><br>
	Email: <html:text property="contato.email"></html:text><br>
	Endereco: <html:text property="contato.endereco"></html:text><br>	
	<html:submit></html:submit>
</html:form>

</html:html>

Meu formulário está assim:

public class ContatoForm extends ActionForm {
	private Contato contato = new Contato();
	
	public void reset(ActionMapping map, HttpServletRequest req) {
		contato.setNome(null);
		contato.setEmail(null);
		contato.setEndereco(null);
	}
	

	public Contato getContato() {
		return contato;
	}
	
	public boolean StringVazia(String s){
		return s==null || s.trim().length()==0;
	}
	

	public ActionErrors validate(ActionMapping map, HttpServletRequest request) {
		ActionErrors error = new ActionErrors();
		if(StringVazia(contato.getNome())){
			error.add("nome",new ActionMessage("erro.nome"));
		}
		return error;
	}
}

Então tendo isso o que acontece… Na minha listagem de contatos existe um botão onde passo a url : mostraContato.do?contato.nome=nonnon

Com isso é chamada a action MostraContatoAction e a partir disso acontece toda a mágia, porém na hora de exibir o html, somente o componente nome é exibido, o email e o endereço ficam em branco!

O erro deve estar na jsp, precisaria de uma orientação pra isso…Obrigado e vlw

obs.: meu id da tabela é o nome (efeito didatico)

Beleza cara?

Olha, pelo que vi seu erro esta aqui:

<html:text property="contato.nome"></html:text>

faz assim:

<html:text property="nome" name="contato"/>

na tag text a propriedade property tem que ter a propriedade do bean e no nome você tem que ter o nome do objeto que pegou na sessão.
quando você colocou contato.nome, provavelmente o struts procurou dentro do seu bean uma propriedade chamada contato.nome e não achou.
Espero ter ajudado! :slight_smile:

Ae samurai vlw… deu certo eh isso mesmo!!!