JSP e DWR - Como passar o parâmetro do Estado selecionado para a classe Java utilizando DWR

1 resposta
A

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;
	}

1 Resposta

FernandoFranzini

Passar por parametro na FacadeAjax.
Se tem duvidas em trabalhar com DWR, segue o link que explica - http://directwebremoting.org/dwr/introduction/scripting-dwr.html

Criado 15 de agosto de 2011
Ultima resposta 15 de ago. de 2011
Respostas 1
Participantes 2