использования и функция Лист <String> в JSP

друзья у меня есть вид, который в настоящее время посредством консультации с двумя параметрами показывает мне результат, проблема состоит в том, что он показывает мне только результат в таблице, в настоящее время я получаю параметры и посылаю ответ используя object map, следующего способа

@RequestMapping("/ajax_consultaProducto")
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response,
                                  @RequestParam("buscarProductoInput") String codigoBarra,
                                  @RequestParam("comboboxSucursales") String sucursal,
                                  @RequestParam("IpCC") String ipControlador
) throws Exception {
    logger.info("LLamado a metodos consultaProducto y buscarEstatusProducto Parametros: " + em + ", " + codigoBarra + ", " + sucursal);
    int mensajeEnviar;
    codigoBarra = codigoBarra.replace(" ", "");
    IConsultaProductosRms consultaRms = new ConsultaProductosRms();
    Producto producto = null;
    Map<Integer, Object> mapRetorno = null;
    producto = consultaRms.consultaProducto(em, codigoBarra, sucursal);
    mensajeEnviar = consultaRms.buscarEstatusProducto(em, codigoBarra, sucursal);
    producto.setStatusProducto(Integer.toString(mensajeEnviar));
    mapRetorno = transformObjectToTreeMap(producto);
    logger.info("Producto devuelto transformado en map:  " + mapRetorno);
    return new ModelAndView("ajax_sucursales", "lista", mapRetorno);
}

но не, если ввиду этой формы он состоит в том, что он показывает мне единственный реестр в виде, он думал в {3 uso'v о List, чтобы видеть, показывает ли он это в форме списка, чего-либо подобного:

@RequestMapping("/tabla_consultaProductos")
    public ModelAndView consultaProductos(HttpServletRequest request, HttpServletResponse response,
                                                  @RequestParam("buscarProductoInput") String codigoBarra,
                                                  @RequestParam("comboboxSucursales") String sucursal,
                                                  @RequestParam("IpCC") String ipControlador
    ) throws Exception {
        logger.info("Antes de la ejecutar consultaProducto" + codigoBarra + ", " + sucursal + ", "
                + ipControlador);
        codigoBarra = codigoBarra.replace(" ", "");
        IConsultaProductosRms consultaRms = new ConsultaProductosRms();

        List<String> listaBarra = consultaRms.consultaProductos(em, codigoBarra, sucursal);

        logger.info("Despu\u00E9s de la ejecutar consultaProductoPromocion retorna: "+ listaBarra);
        return new ModelAndView("tabla_consultaProductos", "lista", listaBarra);
    }

дело в том, что оно таким образом может функционировать? я принимаю подсказки спасибо

здесь я делаю названный к методу, который реализует query

public interface IConsultaProductosRms {
    @Transactional
        public List<String> consultarProductosPromocionInactivos(EntityManager em, String codigoPromocion,String sucursal);

    public Producto consultaProducto(EntityManager em,String codigoBarra, String sucursal);

        public List<String> consultaProductos(EntityManager em,String codigoBarra, String sucursal);
    public Mensaje actualizaProductoSistemas(DriverManagerDataSource em, String codigoPrincipal, int numeroSucursal);
    public List<String> consultaBarrasSecundarias(EntityManager em, String codigoBarra,String sucursal);
    public List<String> consultaProductosPromocion(EntityManager em, String codigoPromocion,String sucursal);
        public int buscarEstatusProducto(EntityManager em, String codigoBarra, String sucursal);
}

это в особенности та, которую я использую

public Producto consultaProducto(EntityManager em,String codigoBarra, String sucursal);

здесь - метод consultaProducto

public Producto consultaProducto(EntityManager em, String codigoBarra,
            String sucursal) {


/*Query original en actual funcionamiento
        String stringQuery = "SELECT * " + "FROM ( "
        + "SELECT tmp_barra_primaria.codigoPrincipal, "
        + "tmp_barra_primaria.descripcionCorta, "
        + "tmp_barra_primaria.descripcionLarga, " + "im.dept, "
        + "vi.vat_rate, " + "rfr2.selling_retail, "
        + "TO_CHAR(rpile.detail_start_date,'yyyymmdd'), " + "TO_CHAR(rpile.detail_end_date,'yyyymmdd'), "
        + "rpile.promo_comp_id, " + "rpile.promo_id, "
        + "DECODE(uil.uda_value, " + "'0', " + "'Normal', " + "'4', "
        + "'Pesable', " + "'7', " + "'Procesado') estado, "
        + "rfr2.simple_promo_retail,null,im.standard_uom,MFG_REC_RETAIL  " + "FROM item_master       im, "
        + "vat_item          vi, " + "store             s, "
        + "uda_item_lov      uil, " + "rpm_future_retail rfr2, " +

        "(SELECT decode(im.item_number_type, " + "'ITEM', "
        + "im.item, " + "im.item_parent) codigoPrincipal, "
        + "im.item_desc descripcionLarga, "
        + "im.short_desc descripcionCorta " + "FROM item_master im "
        + "WHERE im.item = ?1) tmp_barra_primaria " +

        "LEFT OUTER JOIN(item_loc il) "
        + "ON (tmp_barra_primaria.codigoPrincipal = il.item AND "
        + "il.loc = ?2) " +
        "LEFT OUTER JOIN(rpm_future_retail rfr) "
        + "ON (tmp_barra_primaria.codigoPrincipal = rfr.item AND "
        + "rfr.location = ?2 AND "
        + "TO_DATE(sysdate, 'DD/MM/YYYY') <= "
        + "TO_DATE(rfr.action_date, 'DD/MM/YYYY') AND "
        + "(to_date(sysdate) - to_date(rfr.action_date)) >= 0) "
        + "LEFT OUTER JOIN(rpm_promo_item_loc_expl rpile) "
        + "ON (tmp_barra_primaria.codigoPrincipal = rpile.item AND "
        + "rpile.location = ?2 AND "
        + "TO_DATE(sysdate, 'DD/MM/YYYY') between "
        + "TO_DATE(rpile.detail_start_date, 'DD/MM/YYYY') AND "
        + "to_date(rpile.detail_end_date, 'DD/MM/YYYY')) " +

        "WHERE im.item = tmp_barra_primaria.codigoPrincipal "
        + "AND vi.item = im.item " + "AND s.store = ?2 "
        + "AND s.vat_region = vi.vat_region "
        + "AND uil.item = im.item " + "AND uil.uda_id = 3 "
        + "AND rfr2.item = tmp_barra_primaria.codigoPrincipal "
        + "AND rfr2.location = ?2 " +

        "AND (to_date(SYSDATE) - to_date(rfr2.action_date)) >= 0 "
        + "   ORDER BY rfr2.action_date DESC ,vi.active_date DESC  " +

        ") tempo " + "WHERE ROWNUM = 1";*/

        String query2 = "SELECT   temp.codigoPrincipal,"
             +"temp.descripcionCorta,"
             +"temp.descripcionLarga,"
             +"im.dept,"
             +"vi.vat_rate,"
             +"rfr.selling_retail,"
             +"TO_CHAR (rpile.detail_start_date, 'DD/MM/YYYY'),"
             +"TO_CHAR (rpile.detail_end_date, 'DD/MM/YYYY'),"
             +"rpile.promo_comp_id,"
             +"rpile.promo_id,"
             +" DECODE (uil.uda_value,"
                +"     '0',"
                +"     'Normal',"
                +"     '4',"
                +"     'Pesable',"
                +"     '7',"
                +"     'Procesado')"
               +" estado,"
            +" rfr.simple_promo_retail,"
            +" NULL,"
            +" im.standard_uom,"
            +" im.MFG_REC_RETAIL,"
            +" s.store_name"
     +" FROM                        item_master im"
                            +"   JOIN"
                                 +" (SELECT   DECODE (im.item_number_type,"
                                               +"     'ITEM', im.item,"
                                                  +"  im.item_parent)"
                                             +"  codigoPrincipal,"
                                           +" im.item_desc descripcionLarga,"
                                          +"  im.short_desc descripcionCorta"
                                   +"  FROM   item_master im"
                                   +" WHERE   im.item = ?1) temp"
                             +"  ON (im.item = temp.codigoPrincipal)"
                           +" JOIN"
                            +"   uda_item_lov uil"
                           +" ON (im.item = uil.item AND uda_id = 3)"
                        +" LEFT JOIN"
                        +"   item_loc il"
                        +" ON (im.item = il.item)"
                      +" LEFT JOIN"
                      +"   rpm_future_retail rfr"
                      +" ON (rfr.item = il.item AND rfr.location = il.loc)"
                  +" LEFT JOIN"
                  +"    rpm_promo_item_loc_expl rpile"
                  +" ON (rfr.item = rpile.item AND rpile.location = rfr.location)"
                  +" AND TO_DATE (SYSDATE, 'DD/MM/YYYY') BETWEEN TO_DATE (rpile.detail_start_date,"
                  +" 'DD/MM/YYYY')AND  TO_DATE (rpile.detail_end_date,'DD/MM/YYYY')"
               +" JOIN"
                 +"  store s"
               +" ON (il.loc = s.store)"
            +" JOIN"
            +" vat_item vi"
            +" ON (im.item = vi.item AND s.vat_region = vi.vat_region)"
     +"WHERE       store = DECODE (?2, '0', s.store, ?2)"
             +"AND (TO_DATE (SYSDATE) - TO_DATE(rfr.action_date)) >= '0'"
             +"AND VI.VAT_TYPE IN ('R', 'B')"
             +"AND vi.active_date IN"
                    +"  (SELECT   MAX (active_date)"
                     +"    FROM   vat_item vi1"
                      +"  WHERE       vi.item = vi1.item"
                             +"   AND vi.vat_type = vi1.vat_type"
                              +"  AND vi1.create_date <= TRUNC (SYSDATE)"
                              +"  AND vi.vat_region = vi1.vat_region)";

        Producto productoRetornar = new Producto();
        List<Vector<Object>> objetos=new ArrayList();
        try
        {
        Query query = em.createNativeQuery(query2);
        query.setParameter(1, codigoBarra);
        query.setParameter(2, sucursal);
                //query.setParameter(3, sucursal);




         objetos = query.getResultList();
        }
        catch(Exception e)
        {
            productoRetornar.setMensaje("No se puede conectar"+e.getMessage());
        }
        for (Vector<Object> resultElement : objetos) {

            String codigoPrincipal = null;
            try {
                codigoPrincipal = resultElement.get(0).toString();
            } catch (Exception e) {

            }
            String descripcionCorta = null;
            try {
                descripcionCorta = resultElement.get(1).toString();
            } catch (Exception e) {

            }
            String descripcionLarga = null;
            try {
                descripcionLarga = resultElement.get(2).toString();
            } catch (Exception e) {

            }
            String departamento = null;
            try {
                departamento = resultElement.get(3).toString();
            } catch (Exception e) {

            }
            String iva = null;
            try {
                iva = resultElement.get(4).toString();
            } catch (Exception e) {

            }
            String precio = null;
            try {
                precio = resultElement.get(5).toString();
            } catch (Exception e) {

            }
            String fechaInicioPromocion = null;
            try {
                fechaInicioPromocion = resultElement.get(6).toString();
            } catch (Exception e) {

            }
            String fechaFinPromocion = null;
            try {
                fechaFinPromocion = resultElement.get(7).toString();
            } catch (Exception e) {

            }
            String codigoComponente = null;
            try {
                codigoComponente = resultElement.get(8).toString();
            } catch (Exception e) {

            }
            String codigoPromocion = null;
            try {
                codigoPromocion = resultElement.get(9).toString();
            } catch (Exception e) {

            }
            String estado = null;
            try {
                estado = resultElement.get(10).toString();
            } catch (Exception e) {

            }
            String precioPromocion = null;
            try {
                if(codigoPromocion!= null)
                    precioPromocion = resultElement.get(11).toString();
            } catch (Exception e) {

            }
            String frecuencia = null;
            try {
                frecuencia = resultElement.get(12).toString();
            } catch (Exception e) {

            }
            String uom = null;
            try {
                uom = resultElement.get(13).toString();
            } catch (Exception e) {

            }
            String pvJusto = null;
            try {
                pvJusto = resultElement.get(14).toString();
            } catch (Exception e) {

            }
                        String nombreSucursal = null;
            try {
                nombreSucursal = resultElement.get(14).toString();
            } catch (Exception e) {

            }

            if(!objetos.isEmpty())
            {
                productoRetornar.setCodigoPrincipal(codigoPrincipal);
                productoRetornar.setDescripcionCorta(descripcionCorta);
                productoRetornar.setDescripcionLarga(descripcionLarga);
                productoRetornar.setDepartamento(departamento);
                productoRetornar.setIva(iva);
                productoRetornar.setPrecio(precio); 
                productoRetornar.setFechaInicioPromocion(fechaInicioPromocion);
                productoRetornar.setFechaFinPromocion(fechaFinPromocion);
                productoRetornar.setCodigoComponente(codigoComponente);
                productoRetornar.setCodigoPromocion(codigoPromocion);
                productoRetornar.setEstado(estado);
                productoRetornar.setPrecioPromocion(precioPromocion);
                productoRetornar.setFrecuencia(frecuencia);
                productoRetornar.setUom(uom);
                productoRetornar.setMensaje("");
                productoRetornar.setPvJusto(pvJusto);
                                productoRetornar.setNombreSucursal(nombreSucursal);
            }
        }

        return productoRetornar;
    }

и здесь это вид, где я делаю названный ajax_consultaProducto

.post(
                        'ConsultasRms/ajax_consultaProducto.html',
                        formulario.serialize(),
                        function (data) {
                            $("#loading").hide();

                            //borramos el contenido de los option del select
                            //$("#comboboxSucursales").html("");
                            //recorremos todas las filas del resultado del proceso que obtenemos en Json


                            if (data.lista[1].codigoPrincipal == null) {
                                $("#dialog-NoData").dialog("open");
                            }


                            else if (data.lista[1].statusProducto == "1") {
                                $("#dialog-Inactivo").dialog("open");
                            }


                            else {
                                comboSucursales = document
                                        .getElementById('comboboxSucursales');
                                sucursalConsulta = comboSucursales.options[comboSucursales.selectedIndex].text;
                                if (data.lista[1].mensaje == "") {
                                    var datarow = {
                                        sucursal: sucursalConsulta,
                                        numeroSucursal: comboSucursales.options[comboSucursales.selectedIndex].value,
                                        ip: ipControlador,
                                        sistema: tipoSucursal,
                                        codigoPrincipal: data.lista[1].codigoPrincipal,
                                        descripcionCorta: data.lista[1].descripcionCorta,
                                        precio: data.lista[1].precio,
                                        precioPromocion: data.lista[1].precioPromocion,
                                        pvJusto: data.lista[1].pvJusto,
                                        nombreSucursal: data.lista[1].nombreSucursal
                                    };
                                    datarowRmsDetalle[cont] = {
                                        descripcionLarga: data.lista[1].descripcionLarga,
                                        iva: data.lista[1].iva,
                                        estado: data.lista[1].estado,
                                        departamento: data.lista[1].departamento,
                                        codigoComponente: data.lista[1].codigoComponente,
                                        codigoPromocion: data.lista[1].codigoPromocion,
                                        fechaInicioPromocion: data.lista[1].fechaInicioPromocion,
                                        fechaFinPromocion: data.lista[1].fechaFinPromocion
                                    };
                                }
                                else {
                                    $("#etiquetaMensajeAlerta").html("No es posible establecer una conexión con el servidor.");
                                    $("#dialog-Alerta").dialog("open");
                                }
                                //height : 190,
                                //width : 865,

                                var su = jQuery("#tablaProductoRms")
                                        .jqGrid('addRowData', cont, datarow);

                                //var sub=jQuery("#tablaProducto_1_t").jqGrid('addRowData','newRow',datarow2);
                                cont++;
                            }
                        }, "json");


            }

это функции

0
задан 08.02.2017, 10:33
1 ответ

Убедись, что в Controller, если ты принес более одного результата. Я предлагаю тебе помещать код jsp, чтобы видеть, как ты это осуществляешь, потому что это возможно было повторение, которое ты делаешь jsp (не, если ты используешь scriptles или jstl), и самым безопасным не был ни Map ни List.

1
ответ дан 24.11.2019, 12:27
  • 1
    друг Дарт Вейдер уже добавил в редактировании недостающего кода, который касается, используя возможность я буду узнавать относительно Controller, который ты имеешь в виду, на самом деле, что я новый в этом Веб программирования, и мои знания основные, я надеюсь твою помощь – Jdeveloper 01.12.2016, 18:49

Теги

Похожие вопросы