Duvida - JS + DWR

2 respostas
rollei

Seguinte, fiz um metodo dentro de uma classe java que retorna uma lista de objetos. To usando o DWR para chamar esse metodo dentro do JS. Minha duvida eh bem simples: eu queria saber como faco em JS uma funcao que retorne cada atributo de cada objeto.

public List<Escala> getEscala(String data) throws SQLException, ParseException {
		PreparedStatement stmt = (PreparedStatement) connection.prepareStatement(
				"SELECT                    " +
				"	FK_SEQ_JUNTA_JNA     , " +
				"	TXT_TURNO_ESC        , " +
				"	DAT_ESCALA_ESC       , " +
				"	QTD_ATENDIMENTO_ESC  , " +
				"	NUM_HORA_INICIAL_ESC   " +
				"FROM                      " +
				"	TB_ESCALA_ESC          " +
				"WHERE                     " +
				"	DAT_ESCALA_ESC = ?     "
				);
		
		stmt.setString(1, data);
		stmt.execute();
		ResultSet rs = stmt.executeQuery();
		List<Escala> escalas = new ArrayList<Escala>();
		while (rs.next()) {
			Escala escala = new Escala();
			escala.setData(rs.getString("DAT_ESCALA_ESC"));
			escala.setHora(rs.getString("NUM_HORA_INICIAL_ESC"));
			escala.setJunta(rs.getInt("FK_SEQ_JUNTA_JNA"));
			escala.setQtdAtendimento(rs.getInt("QTD_ATENDIMENTO_ESC"));
			escala.setTurno(rs.getString("TXT_TURNO_ESC"));
			escalas.add(escala);
		}
		rs.close();
		stmt.close();
		return escalas;
}

como seria uma funcao JS para ir objeto por objeto mostrando data, hora, junta, quantidade e turno?

[]'s

2 Respostas

rollei

olha só. eu fiz uma funcao soh para exibir o tamanho da lista

function verificaEscalaData (idData) {

	var escalaDoDiaSelecionado = new Array();
	var data = document.getElementById(idData).value;
	escalaDoDiaSelecionado = AgendaManager.getEscala(data);
	alert(escalaDoDiaSelecionado.length);		
}

o alert nao ta nem aparecendo. na pagina eu to executando a funcao passando uma data (no caso 14/03/2008) ... dentro do clase eu mandei dar um out no select e colei o select direto no banco, e ele ta retornando 4 resultados.

porque meu alert nao ta retornando nada ... devia ao menos retornar 0 nao? nao ta dando alert nenhum

Anderson_Leite

você precisa criar uma segunda function no JS, que será a função de callback.
Ela será chamada após seu AgendaManager.getEscala retornar a lista.

Fica algo assim
function verificaEscalaData (idData) {  
  
    var escalaDoDiaSelecionado = new Array();  
    var data = document.getElementById(idData).value;  
    escalaDoDiaSelecionado = AgendaManager.getEscala(data , verificaEscalaDataReturn );  

} 

function verificaEscalaDataReturn(list) {  
    alert(list.length);         
}

Se for DWR1.x, passe a função de callback como primeiro parametro, se for DWR 2.0 passe como último.

Criado 2 de abril de 2008
Ultima resposta 2 de abr. de 2008
Respostas 2
Participantes 2