Struts popular o formbean para popular o JSP

Olá
quando executo o action e set o valor para meu formbean ele popula o jsp corretamente,
porem quando executo um METHODO no DAO para fazer a mesca coisa não funciona,
ou seja parece que o erro está na forma de popular o formbean no dao que não
está correto.

Alguem poderia me dizer o que esta errado ?

Action:

[code]package org.apache.struts.webapp.validator;

import java.util.ArrayList;
import java.util.*;
import java.util.Locale;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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 org.apache.struts.util.MessageResources;
import org.apache.struts.webapp.validator.CliForm;
import dao.ClienteDAO;

public final class AltDelNovoCliAction extends Action {

private Log log = LogFactory.getFactory().getInstance(this.getClass().getName());
public ActionForward execute(ActionMapping mapping,
             ActionForm form,
             HttpServletRequest request,
             HttpServletResponse response)
throws Exception {
	

// Extract attributes we will need
HttpSession session = request.getSession();
Locale locale = getLocale(request);
MessageResources messages = getResources(request);

CliForm bean = (CliForm)form;

[color=red] ///setando o value para o formbean fica ok. assim:
//bean.setNome("Nome que vai ser populado no jsp para ser alterado " );

//dessa forma não funciona
//segue o DAO no final para ser examinado.
ClienteDAO clidao = new ClienteDAO();
ArrayList cliente = (ArrayList)   clidao.ConsultaClienteCodigo[/color]("4");    


return mapping.findForward("success");        

}

}[/code]

Dao:

[code] public ArrayList ConsultaClienteCodigo(String codigo){ ArrayList pesquisa = new ArrayList();
String SQL = "select nome from cliente where codigo = ? ";
PreparedStatement ps = null;
ResultSet rs = null;
CliForm bean = null;

try {
	super.recuperaConexaoPool();
	ps = con.prepareStatement(SQL);
	ps.setString(1,codigo);
	rs = ps.executeQuery();
	while(rs.next()){
		[color=red]bean = new CliForm();
		bean.setNome(rs.getString(1));
                                            pesquisa.add(bean);

[/color]
}

	ps.close();
	con.close();
	
} catch (Exception e) {
	System.err.println("Exception: " + e.getMessage());
}

   return pesquisa	

}[/code]

Ola
kra o problema e que na action, o bean que vc esta recebendo como parâmetro ja esta salvo na sessão ou no request, e vc recebe ele como parametro no método execute, por isso funciona, no seu dao vc esta simplesmente instanceando um novo bean seta o valor nesse novo bean, e retorna o mesmo em um ArrayList e não faz nada com bean retornado.
vc tem que pegar o bean que esta sendo retornado para poder funcionar.
[]s
Daniel