Dúvidas com DynaValidatorForm

3 respostas
I

Boa tarde pessoal,
Estou com uma dúvida q vem me atrapalhando há muito, imagino q para a maioria deve ser algo simples! Pois bem, estou usando o DynaValidatorForm e gostaria de usá-lo para tirar os dados de um Banco de Dados e preencher um formulário numa página JSP.
A action q faz o preenchimento do form é assim:

package testeStruts02;

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

import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
import org.apache.struts.validator.DynaValidatorForm;

public class RecuperaCadastroAction extends Action
{
	private final static long serialVersionUID = 1; 
	
	public ActionForward execute (HttpServletRequest req, HttpServletResponse res,
                                                               ActionForm form, ActionMapping mapping) throws Exception
	{	

		ActionForward retorno= null;
		
		String num= req.getParameter("numero");
						
		Cadastro cadastro= RepositorioCadastroDAO.recuperaUmCadastroComNumero(Integer.parseInt(num));
	
		if(cadastro!=null)
		{
			((DynaValidatorForm)form).set("nome",cadastro.getNome());
			((DynaValidatorForm)form).set("nascimento",cadastro.getNascimento());
			((DynaValidatorForm)form).set("email",cadastro.getEmail());
			((DynaValidatorForm)form).set("tel",cadastro.getTel());
			((DynaValidatorForm)form).set("tipo",cadastro.getTipo());
			((DynaValidatorForm)form).set("nomeRua",cadastro.getNomeRua());
			((DynaValidatorForm)form).set("numeroLogradouro",cadastro.getNumeroLogradouro());
			((DynaValidatorForm)form).set("complementoLogradouro",cadastro.getComplementoLogradouro());
			((DynaValidatorForm)form).set("cep",cadastro.getCep());
			((DynaValidatorForm)form).set("bairro",cadastro.getBairro());
			((DynaValidatorForm)form).set("estado",cadastro.getEstado());
			((DynaValidatorForm)form).set("conta",cadastro.getConta());
			((DynaValidatorForm)form).set("senha",cadastro.getSenha());
			((DynaValidatorForm)form).set("sexo",cadastro.getSexo());
			((DynaValidatorForm)form).set("ConfirmacaoSenha","");
			
			retorno= mapping.findForward("UmaReserva");
		}
		else
		{
			retorno= mapping.findForward("UmaReservaNaoEncontrada");
		}	
		return retorno;
	}
}

Alguém pode dar um help? Pois qdo aciono a action para o preenchimento do form, simplesmente nao aparece nada, a tela do navegador fica em branco.
Agradeço a atenção de todos, um grande abraço,
Igor

3 Respostas

furutani

Verifica se a variavel retorno está preenchida corretamente. As vezes se ela tiver o valor null a tela fica em branco.

I

Bom Dia Furutani,

Qual seria a melhor maneira de testar o conteúdo da variável “retorno”? Vc saberia dizer pq isso está ocorrendo, uma vez que, a lógica parece certa?

Grato pela atenção,

Igor

furutani

Olá

Geralmente as IDE como Eclipse tem o recurso de debug, vc pode por um break point na linha 45 e 49 e verificar se na variavel retorno tem algum valor.
Dá uma olhada tbem no console do tomcat se não mostra nenhum erro.

Criado 6 de janeiro de 2009
Ultima resposta 8 de jan. de 2009
Respostas 3
Participantes 2