Petición JSON en Java

Iniciado por CaTZ, 29 Septiembre 2014, 15:49 PM

0 Miembros y 1 Visitante están viendo este tema.

CaTZ

Buenas DonVidela,

En el PC que estoy ahora mismo no tengo el código, pero lo que tengo hecho es simplemente pintar la tabla y recoger en una lista todos los registros de la tabla con Hibernate, vamos que me falta el tema de pintar los datos en la tabla sólo.

El caso es que no había hecho nada con JSON porque primero quería enterarme más o menos del tema por no ir ciego del todo xD

Pablo Videla

Código (javascript) [Seleccionar]



$.ajax({
        type: 'POST',
        url: 'inicio.php?code=default&status=getTiposClientes',
        data: '',
        error: function(jqXHR, exception) {
            console.log("Error : " + exception.toString())
        },
        success: function(html) {

            console.log("html : " + $(html).find("#getTiposClientes").html());
            var tipoClientes = jQuery.parseJSON($(html).find("#getTiposClientes").html());
            var tablax="TableA1";
            console.log("Largo Tipo Clientes : " + tipoClientes.length);
            for (var i = 0; i < tipoClientes.length; i++) {
                if(i%2==0){
                 tablax="TableA1"
                }else{
                    tablax="TableA2";
                }
                $("#planesClientes").append("<tr class='"+tablax+"'><td>"+tipoClientes[i].strNombreTipoCliente+"</td>"+
    "<td>"+tipoClientes[i].intIndustriasMax+"</td><td>"+tipoClientes[i].intUsuariosMax+"</td>\n\
<td><a href='#;'  onclick='bloquearPlan("+tipoClientes[i].idTipoCliente+");'><img src='url' title='Eliminar' ></a></td></tr>");
            }
        }
    });


Asi escribo yo una tabla simple con ajax y JSON  :xD Es una muestra muy básica. Hay soluciones más bonitas.

CaTZ

#12
Muchas gracias DonVidela :)

Mira esto es el código que llevo.


tabla = new Table(properties.getProperty("tabla-nombre"));

tabla.setSelectable(true);

//Creamos las columnas
tabla.addContainerProperty(properties.getProperty("tabla-col1"), String.class, null);
tabla.addContainerProperty(properties.getProperty("tabla-col2"), String.class, null);
tabla.addContainerProperty(properties.getProperty("tabla-col3"), String.class, null);
tabla.addContainerProperty(properties.getProperty("tabla-col4"), String.class, null);
tabla.addContainerProperty(properties.getProperty("tabla-col5"), String.class, null);

//Ajustamos el tamaño de la tabla a lo que ocupa
tabla.setPageLength(tabla.size());

PedidosDAO pedidosDao = new PedidosDAO();

List<pedidos> lista = pedidosDao.findAll();

hLayoutTabla.addComponent(tabla);


En lista tengo todos los registros de los pedidos.

Ya me he enterado un poco de como está el tema diseñado. Por otro lado están desarrollando la clase de persistencia y un servicio REST. Lo de la URL que comenté, ¿Es la URL del servicio? y entonces esa URL la parseo a un objeto JSON y con eso ya pinto la tabla, ¿sería ese el procedimiento?

Muchas gracias

Pablo Videla

Cita de: KorT en 30 Septiembre 2014, 08:22 AM
Muchas gracias DonVidela :)

Mira esto es el código que llevo.


tabla = new Table(properties.getProperty("tabla-nombre"));

tabla.setSelectable(true);

//Creamos las columnas
tabla.addContainerProperty(properties.getProperty("tabla-col1"), String.class, null);
tabla.addContainerProperty(properties.getProperty("tabla-col2"), String.class, null);
tabla.addContainerProperty(properties.getProperty("tabla-col3"), String.class, null);
tabla.addContainerProperty(properties.getProperty("tabla-col4"), String.class, null);
tabla.addContainerProperty(properties.getProperty("tabla-col5"), String.class, null);

//Ajustamos el tamaño de la tabla a lo que ocupa
tabla.setPageLength(tabla.size());

PedidosDAO pedidosDao = new PedidosDAO();

List<pedidos> lista = pedidosDao.findAll();

hLayoutTabla.addComponent(tabla);


En lista tengo todos los registros de los pedidos.

Ya me he enterado un poco de como está el tema diseñado. Por otro lado están desarrollando la clase de persistencia y un servicio REST. Lo de la URL que comenté, ¿Es la URL del servicio? y entonces esa URL la parseo a un objeto JSON y con eso ya pinto la tabla, ¿sería ese el procedimiento?

Muchas gracias

Tu url recibe algun parametro?
Código (javascript) [Seleccionar]
        url: 'inicio.php?code=default&status=getTiposClientes',


Fijate el codigo que te puse, en el comentario anterior, ahi tienes un ejemplo de url que no recibe nada como parametro sino que va al metodo a través de un case y me imprime lo que te puse en JSON, luego capturo el json lo parseo y lo manipulo.

revisa bien la funcion $.ajax que te puse y ve los parametros que se envian y la respuesta, en el success cuando el ajax responde como corresponde con los datos, yo pinto la tabla con esos datos.

CaTZ

No DonVidela, mir URL no tiene ningún parámetro.

A ver si tengo algo de tiempo y me pongo a picar el código y ver qué se me pasa, pero creo que ya lo voy entendiendo.


  • Implementar la interfaz del Servicio REST
  • Conectarme a la URL del servicio
  • Pasar la URL a objeto JSON
  • Recorrerme la lista para pintar en la tabla

Si es así y no me equivoco, la parte de recogida de datos de la BBDD se hace en la parte del Servicio, ¿no? Yo sólo tendría que parsear la URL y ya está....