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