Carregando dados num formulário (Struts)

Boa tarde a todos,

Alguém poderia me explicar como carrego dados num formulário a partir da seleção num combo box?
Tenho uma combo com uma lista com várias descrições, ao clicar em uma descrição da combo, carrega o meu formulário que são campos .
Eu criei um DAO com o meu select e na minha Action chamo um método que carrega o form.
Na jsp criei uma função com evento onchange para chamar o método que esta implementado na action.

Vou postar aqui o código do DAO e da Action.

DAO:

public List carregaInfoRede(CadRedeVO cadRede) throws IOException{
	  	
		List listarCarregarInfoRede = new ArrayList();	  	
		
		try {
				System.out.println("Entrou CadRedeDAO");
				Connection con = getConnection();
				
	      pstm = con.prepareStatement(" SELECT " +
	      							  "	cod_rede, " +
	      							  " desc_rede, " +
	      							  "	uf, " +
	      							  " cidade, " +
	      							  " fone1, " +
	      							  "	contato1, " +
	      							  "	email1, " +
	      							  "	fone2, " +
	      							  "	contato2, " +
	      							  "	email2, " +
	      							  "	razao, " +
	      							  "	insc_est, " +
	      							  " ender, " +
	      							  " cnpj, " +
	      							  " banco, " +
	      							  " agencia, " +
	      							  " conta, " +
	      							  " cadfor, " +
	      							  " contrato_social, " +
	      							  " ender_prom, " +
	      							  " cod_gr, " +
	      							  " cod_gc, " +
	      							  " is_ativo, " +
	      							  " to_char(data_status,'DDMMYYYY'), " +
	      							  " obs " + 
      							  " FROM tblrede ");

	      System.out.println("Antes da query");

	      rs = pstm.executeQuery();
	      
	      
	      System.out.println("antes do while");  
	     // while (rs.next()){
	      	//CadRedeVO cadRede = new CadRedeVO();	      	
	      	
	      if(rs.next()){
	      
	      	//cadRede.setCodigo(rs.getInt("cod_rede"));
	      	//cadRede.setDescRede(rs.getString("desc_rede"));
	      	cadRede.setUf(rs.getString("uf"));	      	
	      	cadRede.setCidade(rs.getString("cidade"));	      	
	      	cadRede.setFone1(rs.getString("fone1"));	      	
	      	cadRede.setContato1(rs.getString("contato1"));	      	
	      	cadRede.setEmail1(rs.getString("email1"));	      	
	      	cadRede.setFone2(rs.getString("fone2"));	      	
	      	cadRede.setContato2(rs.getString("contato2"));	      	
	      	cadRede.setEmail2(rs.getString("email2"));	      	
	      	cadRede.setRazao(rs.getString("razao"));	      	
	      	cadRede.setInscEst(rs.getString("insc_est"));	      	
	      	cadRede.setEnder(rs.getString("ender"));	      	
	      	cadRede.setBanco(rs.getString("banco"));	      	
	      	cadRede.setAgencia(rs.getString("agencia"));	      	
	      	cadRede.setConta(rs.getString("conta"));	      	
	      	cadRede.setCadFor(rs.getString("cadFor"));	      	
	      	cadRede.setNumContrato(rs.getString("contrato_social"));	      	
	      	cadRede.setEnderProm(rs.getString("ender_prom"));	      	
	      	cadRede.setCodgr(rs.getInt("cod_gr"));	      	
	      	cadRede.setCodgc(rs.getInt("cod_gc"));	      	
	      	cadRede.setIsAtivo(rs.getString("is_ativo"));	      	
	      	cadRede.setDataStatus(rs.getString("data_status"));	      	
	      	cadRede.setObs(rs.getString("obs"));

	      	//listarCarregarInfoRede.add(cadRede);
	      };
	      
	      System.out.println("depois do while");
	      	
		  }catch(java.sql.SQLException sqlException){
				System.out.println("sqlException: "+ sqlException);
		  }catch(Exception e){
		  		System.out.println("Exception: "+ e);
		  }finally{
		  	try{
		  		System.out.println("antes de fechar conexao.");
		  		con.close();
		  		System.out.println("depois de fechar conexao.");
		  	}catch(SQLException sqlException){
		  		System.out.println("sqlException: "+ sqlException);
		  	}
		  }
		  
		  //return true;
		  return listarCarregarInfoRede;
	  }

Action:

public ActionForward executaCarregaInfoRede(ActionMapping mapping, ActionForm form,
		   HttpServletRequest request, HttpServletResponse response)
		   throws Exception {
		  
		  System.out.println("Carrega Info Rede: antes de listar");
	  
		  
		//Carregando um objeto form
		  CadRedeDAO redeDAO = new CadRedeDAO();
		  CadRedeForm redeForm = (CadRedeForm) form;
		  List listarCarregarInfoRede = new ArrayList();  
		  Iterator it = listarCarregarInfoRede.iterator();
		  while (it.hasNext()){
			   CadRedeVO cadRede = new CadRedeVO();   
			   cadRede = (CadRedeVO)it.next();		   
			     
			   //CadRedeForm redeForm = new CadRedeForm();
			   
			   redeForm.setCodigo(Integer.toString(cadRede.getCodigo()));   
			   redeForm.setDescRede(cadRede.getDescRede());
			   redeForm.setUf(cadRede.getUf());
			   redeForm.setCidade(cadRede.getCidade());
			   redeForm.setFone1(cadRede.getFone1());
			   redeForm.setContato1(cadRede.getContato1());   
			   redeForm.setEmail1(cadRede.getEmail1());
			   redeForm.setFone2(cadRede.getFone2());
			   redeForm.setContato2(cadRede.getContato2());
			   redeForm.setEmail2(cadRede.getEmail2());
			   redeForm.setRazaoSocial(cadRede.getRazao());
			   redeForm.setInscrEst(cadRede.getInscEst());
			   redeForm.setCnpj(cadRede.getCnpj());
			   redeForm.setEndereco(cadRede.getEnder());
			   redeForm.setBanco(cadRede.getBanco());
			   redeForm.setAgencia(cadRede.getAgencia());
			   redeForm.setContaCorrente(cadRede.getConta());
			   redeForm.setCadFor(cadRede.getCadFor());   
			   redeForm.setNumContrato(cadRede.getNumContrato());
			   redeForm.setEnderProm(cadRede.getEnderProm());
			   redeForm.setCodgr(Integer.toString(cadRede.getCodgr()));
			   redeForm.setCodgc(Integer.toString(cadRede.getCodgc()));   
			   redeForm.setIsAtivo(cadRede.getIsAtivo());   
			   if (cadRede.getDataStatus() == null){   
				   redeForm.setDataStatus("");
			   }else{
				   redeForm.setDataStatus(cadRede.getDataStatus().toString());
			   }		   
			   redeForm.setObs(cadRede.getObs());		  
		  }	  
		  
			   
		   return mapping.findForward("success");
		  
 	}

Agradeço desde já,

Vitor