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)