【发布时间】:2020-05-18 23:43:27
【问题描述】:
这是我第一次使用 Jquery Ajax。
上下文是,我试图在 Datatable 上显示超过 10000 行数据,我之前所做的只是使用我的 servlet 将我的 Arraylist 数据转发到 JSP,然后循环并显示数据显示数据。
加载数据表花费了太多时间。所以我决定尝试使用 Jquery Ajax 看看这是否有助于解决问题。
我目前在实施它时遇到了一些问题,有人可以帮助我吗?
我正在使用 GSON 序列化我的数组列表。
servlet.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>
我的 JSONarray 是这样的结构,这是输出
[
{
"Element1": "Text",
"Element2": "Text",
},
{
"Element1": "Text",
"Element2": "Text",
},
....
]
如果有人愿意将我链接到一些我可以阅读的有用文档。我现在似乎找不到任何对我有帮助的东西。
我不确定如何遍历我的 JSONarray 来访问对象并显示我的 JSON 数据。 如果有 1000 个对象,我将遍历每个对象并连续显示它们的数据。
我也不知道如何让它与数据表一起工作......
【问题讨论】:
-
关键是要实现,where和when执行哪些代码-服务器上的JSP,什么时候请求和渲染页面(即之前响应被发送到浏览器),并且浏览器中的Javascript,之后浏览器接收到已经生成响应。这意味着您不能混合使用 JSP 和 JavaScript 变量(
"ajax" : list行无效)。参见例如stackoverflow.com/questions/44678192/… 提示。 -
嗨 Jozef,谢谢你,我想我明白你的意思了。我想theres相当多的东西我不明白。因此,如果我将太多数据加载到数据表中。所以说如果我有 10 页,当我首先加载表格时,AJAX 会只加载第一页吗?如果不是我如何让他们这样做..
标签: java jquery ajax jsp datatables