Использование Jquery Ajax на JSP для отображения в таблицах данных - PullRequest
1 голос
/ 03 февраля 2020

Я впервые использую Jquery Ajax.

Суть в том, что я пытаюсь отобразить более 10000 строк данных в Datatable, что я делал ранее, просто использовал свой сервлет для пересылки моего Arraylist данных в JSP, затем я oop и отображение данных на дисплее.

Загрузка данных была слишком сложной. Поэтому я решил, что хочу попробовать использовать Jquery Ajax, чтобы посмотреть, поможет ли это решить проблему.

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

Я использую GSON для сериализации моего архива.

сервлет. java

 String json =  gson.toJson(listS);
...

request.setAttribute("listS", json);
request.getRequestDispatcher("WEB-INF/index.jsp").forward(request, response);

index. jsp

String list =  (String) request.getAttribute("listStartup");
    ......

                    <td>Insert 1st Element</td>
                    <td>Insert 2nd Element</td>

                 <%
               };

    ......


    <script>

    $(function () {
        <% list =  (String) request.getAttribute("listS");%> 
        $("#sp").DataTable({
    "scrollY": 500,
            "scrollX": true,
            "paging": true,
            "lengthChange": false,
            "searching": true,
            "ordering": true,
            "info": true,
            "autoWidth": false,
            "processing": true,
            "serverSide": true,
            "ajax" : list

        });
      });



</script>

My Структура JSONarray выглядит следующим образом: это вывод

[
  {
    "Element1": "Text",
    "Element2": "Text",
  },
 {
    "Element1": "Text",
    "Element2": "Text",
  },

....
]

Если кто-нибудь захочет дать мне ссылку на полезную документацию, которую я смогу прочитать. Кажется, я сейчас не могу найти ничего полезного для меня.

Я не уверен, как перебрать мой JSONarray для доступа к объектам и отображения моих JSON данных. Если существует 1000 объектов, я буду перебирать каждый объект и отображать их данные в ряд.

Я также не знаю, как заставить его работать с таблицами данных ...

1 Ответ

0 голосов
/ 03 февраля 2020

вы получаете массив json, где каждый json объект с некоторым указанным c ключом (Element1 и Element2). Вам просто нужно сопоставить эти ключи с соответствующими столбцами в datatable. а затем передать список в Datatable для рендеринга.

См. Ниже код

$(function () {
        var list = <% (String) request.getAttribute("listS");%>;
        //convert string to json object
        var listJson = JSON.parse(list);
       var table = $("#sp").DataTable({
    "scrollY": 500,
            "scrollX": true,
            "paging": true,
            "lengthChange": false,
            "searching": true,
            "ordering": true,
            "info": true,
            "autoWidth": false,
            "columns": [ // map the columns here
             { "data": "Element1" },
             { "data": "Element2" }
             ]
        });

        //render list here
        table.clear();
        table.rows.add(listJson); // make sure that list should be json object and not text
        table.draw();
      });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...