嗨,我正在使用百里香叶的spring mvc项目中工作,我有一个方法执行一个非常复杂的查询,需要7 seconds
返回1500行,我必须使用百里香填充一个包含该数据的表,但是它花了太多时间填充表格,填充表格并显示网页需要1分钟,所以加载页面需要1分钟,有没有办法填充表格,当你有大量的数据而没有采取很多时间??
我曾经认为加载太多时间是因为我的方法返回一个列表对象,我需要将该对象列表转换为我正确的POJO对象,所以我必须循环列表并转换每个对象,< / p>
但不是因为我尝试了以下测试
1)我尝试在没有使用强制转换方法的简单TextArea中打印列表对象,并将所有对象打印出来,9 secs
显示网页,但需要取出7秒钟带来数据的查询
它在我的textArea:
中打印出像这样的1000个对象[Ljava.lang.Object; @ e9548,[Ljava.lang.Object; @ e9548 .....
2)我尝试使用我的方法在一个简单的TextArea中打印列表,该方法将每个对象强制转换为我的POJO对象,并且几乎与我在没有我的演员的情况下打印原始对象列表所花费的时间相同10 secs
方法
它在我的textArea:com.abc.serviceClass.Person@252c46, com.abc.serviceClass.Person@252c46, com.abc.serviceClass.Person@252c46, com.abc.serviceClass.Person@252c46.....
3)这就是为什么我认为使用百万美元来填充表的方法有几乎1 min to load
的网页错误,当我使用此代码填充我的表时,请注意
<table>
<tbody>
<tr th:each="nodeInfo : ${listOfPojos}">
<td th:text="${nodeInfo.name}"></td>
<td th:text="${nodeInfo.lastName}"></td>
</tr>
</tbody>
</table>
th:each
必须迭代我的listOfPojos中的1500个寄存器并打印我相信的值是为什么花费太多时间显示我的网页需要1分钟以上才能放入该代码,这就是为什么我想询问它是否有另一种方法来填充我的表使用1500个pojos对象的列表而不需要花费整整一分钟来显示页面。
答案 0 :(得分:0)
首先,请记住,即使当前浏览器的性能越来越高,也不建议在客户端显示这么多行。
无论如何,根据您的特定需求,如果您(我的客户是我的意思)接受分页结果,Dandelion-Datatables可能会有所帮助,特别是其server-side功能。
在幕后,DataTables使用一些信息执行AJAX调用,例如要显示的行数,起始元素和结束元素。当然,您必须在服务器端提供一些读取这些参数并执行相应查询的查询。
使用您的技术堆栈可以获得示例here。
StackOverflow要求免责声明,我是蒲公英项目的作者。