Olá a todos,
Pessoal, como faço para preencher minha combo automaticamente na Pagina JSP?. Já tenho minha classe DAO onde uma Lista é implementada e meu Servlet onde crio um objeto dessa lista, está tudo funcionando, mas para mim preencher a combo, tenho que chamar meu Servlet para passar a opção de “Ação” para ser executada, tipo, ao invés de chamar o Servlet com a sua ação, quero apenas quando abrir a pagina JSP os combo já sejam preenchidos com dados do Banco de Dados. Olhem o codigo abaixo:
[color=green]// Trecho da minha Classe DAO com o metodo para preencher a lista:[/color]
public List <Secretarias> getLista() throws SQLException {
String sql = "SELECT * FROM TABSECRETARIAS ORDER BY CODSECRETARIA";
PreparedStatement stmt = this.conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
// Select com cursor
List <Secretarias> list = new ArrayList<Secretarias>();
while (rs.next()) {
// Criando objetos
Secretarias secretaria = new Secretarias();
secretaria.setId(rs.getInt("CODSECRETARIA"));
secretaria.setSecretaria(rs.getString("secretaria"));
secretaria.setTelefone(rs.getString("telefone"));
list.add(secretaria);
}
rs.close();
stmt.close();
return list;
}
[color=green]// Trecho do Meu Servlet onde verifica qual ação será executada[/color]
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
.
.
.
else if(cmd.equalsIgnoreCase("chamadoSecretaria")){
List listChamado = dao.getLista();
request.setAttribute("Secretarias", listChamado);
rd = request.getRequestDispatcher("/frmInserirChamados.jsp");
//Aqui é chamado a lista para preencher a minha <select> na pagina JSP
}else if(cmd.equalsIgnoreCase("comboAtendimento")){
List comboSecretaria = dao.getLista();
request.setAttribute("listarSecretarias",comboSecretaria);
rd = request.getRequestDispatcher("/frmInserirAtendimento.jsp");
}
rd.forward(request, response);
}catch(Exception e){
e.printStackTrace();
throw new ServletException(e);
}
}
.
.
.
[color=green]// Minha Página JSP onde chamo minha lista para preencher a combo[/color]
[google]
<tr>
<td>Secretaria:</td>
<td><select name="codSecretaria" class="campos">
<option value="">.................. Selecione uma Secretaria...................</option>
<c:forEach var="nomeSecretaria" items="${listarSecretarias}">
<option value="${nomeSecretaria.id}">
${nomeSecretaria.secretaria}
</option>
</c:forEach>
</select></td>
</tr>
Se eu chamar a página passando o Servlet dessa forma:
http://localhost:8080/OrdemServicoOnline/ServletSecretarias?cmd=comboAtendimento
Ele executa normal e preenche o combo, mas dessa forma, se eu tiver mais de um combo na minha pagina, terei que chamar mais de dois Servlet ao mesmo tempo, acho que seria impossivel, como chamo esse metodo do meu Servlet na JSP para preencher a combo? Onde deveria colocar o codigo de preencher a combo no Servelet, no processRequest mesmo?
Conto com a Ajuda de todos vocês
Att,