Bom dia…Segue o código
Combo.jsp
<html>
<head>
<script type="text/javascript" src='<%=request.getContextPath() %>/dwr/interface/FacadeAjax.js'></script>
<script type="text/javascript" src='<%=request.getContextPath() %>/dwr/engine.js'></script>
<script type="text/javascript" src='<%=request.getContextPath() %>/dwr/util.js'></script>
<script type="text/javascript" src='js/combos.js'></script>
<title>DWR: Ajax for Java - Handerson Frota - Portal Java Magazine</title>
</head>
<body>
Página com exemplos do addOptions();<br><br>
<strong>Combo Estados</strong><br>
<select id="cidades">
<option value=""></option>
<option value="AC">AC</option>
<option value="AL">AL</option>
<option value="AP">AP</option>
<option value="AM">AM</option>
<option value="BA">BA</option>
<option value="CE">CE</option>
<option value="DF">DF</option>
<option value="ES">ES</option>
<option value="GO">GO</option>
<option value="MA">MA</option>
<option value="MG">MG</option>
<option value="MS">MS</option>
<option value="MT">MT</option>
<option value="PA">PA</option>
<option value="PB">PB</option>
<option value="PE">PE</option>
<option value="PI">PI</option>
<option value="PR">PR</option>
<option value="RJ">RJ</option>
<option value="RN">RN</option>
<option value="RO">RO</option>
<option value="RR">RR</option>
<option value="RS">RS</option>
<option value="SC">SC</option>
<option value="SE">SE</option>
<option value="SP">SP</option>
<option value="TO">TO</option>
</select><br>
<strong>Combo Cidades;</strong><br>
Exemplo combo Cidades:
<a href="javascript:carregaComboCidades()" >Carregar</a> / <a href="javascript:cleanAddOptions('comboCidades')" >Limpar</a>
<select id="comboCidades"></select>
</body>
</html>
Combo.js
function cleanAddOptions(local){
DWRUtil.removeAllOptions(local);
}
/**
* Função que acessa o método da classe java(FacadeAjax), e retorna como callback para
* a função montaXXX();
*/
function carregaComboCidades(){
FacadeAjax.selectAllCidades(montaComboCidades);
}
function montaComboCidades(listBeans){
DWRUtil.removeAllOptions("comboCidades");
DWRUtil.addOptions("comboCidades", listBeans, "cidade");
}
FacadeAjax.java
package com.celulajava.palestradwr.facadeAjax;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.celulajava.palestradwr.bean.Pessoa;
import com.celulajava.palestradwr.dao.DAOPessoa;
/**
* Classe utilizada para servir de Facade do JavaScript para as outras camadas do Java.
*
* @author Handerson Frota([email removido])
*
*/
public class FacadeAjax {
/**
* Método que faz um simples select no banco e retorna um list de beans Pessoa.
*
* @return listResult - List de Object Bean Pessoa
*
* @throws Throwable
* @throws Exception
*/
public List selectAllCidades() throws Throwable, Exception{
List<Pessoa> listResult = new ArrayList();
listResult = DAOPessoa.selectAllCidades();
return listResult;
}
}
Aqui está minha dúvida, como fazer para o parâmetro Estado chegar a query???no método selectAllCidades()
package com.celulajava.palestradwr.dao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.celulajava.palestradwr.bean.Pessoa;
public class DAOPessoa {
private static final ConectaBanco conecta = new ConectaBanco();
public static List selectAllCidades() throws Throwable, Exception{
List<Pessoa> dadosPessoaList = new ArrayList();
PreparedStatement stmt = null;
ResultSet rs = null;
stmt = conecta.getConnection().prepareStatement("select cidade from pessoa where estado= '" + nomeBusca + "' ");
stmt = conecta.getConnection().prepareStatement("select cidade from pessoa where estado= 'SP'");
rs = stmt.executeQuery();
Pessoa pessoa = null;
while(rs.next()){
pessoa = new Pessoa();
String cidade = rs.getString("cidade");
System.out.println(cidade);
pessoa.setCidade(cidade);
dadosPessoaList.add(pessoa);
}
stmt.close();
rs.close();
conecta.closeConnection();
return dadosPessoaList;
}