我有一个servlet,它将模型bean对象的集合返回给jsp页面。从这里开始,我想显示数据,但我不确定正确的方法。
从数据库返回的平均行数最多可能少于几百行。
我使用的是Java1.6和默认的数据对象1.10.4的jQuery。
我确实验证了数据是否在集合中,并在向JSP页面的请求中发出数据。
最初,我对数据进行了硬编码的值,以确保基于来自Datatables站点的Javascript源数据正确地设置了datatable,但现在我有了实际的数据,并且不确定如何正确地将它放在表中。
下面是我的新jQuery代码,它在Eclipse中显示了这个错误:
"ajax': './MyServlet", //invalid property assignment error?我不知道那个错误意味着什么?
<!-- jQuery code -->
$(document).ready(function () {
$('#datatable').dataTable({
"processing": true,
"ajax': './MyServlet",
"columns": [
{ "data": "Last Name" },
{ "data": "First Name" },
{ "data": "Mailing Address" },
...
]
});
}); 下面是带有scriptlet的HTML代码,现在循环遍历对象集合并添加列/行。我在另一个例子中看到了这个,所以我用它来试着让它起作用。
<!-- The datatable in the jsp page -->
<table width="100%" id="datatable" class="display compact" cellspacing="0">
<%
if(null != modelBeanCollection && modelBeanCollection.size() > 0) {
%>
<%
List<modelBean> projectList = (List<modelBean>)(List<?>) modelBeanCollection;
for (modelBean project : projectList) {
%>
<tr>
<td><%=project.getLastName()%></td>
<td><%=project.getFirstName()%></td>
<td><%=project.getAddress1()%></td>
...
</tr>
<%}
}%>
</table>我的主要问题是,在jsp页面中使用基于几百行数据的可数据显示对象数组的最佳实践是什么?
发布于 2015-04-30 05:56:29
通过查看您的代码,您将尝试使用ajax调用输入数据,同时使用jsp scriptlet中的整个数据。
在您的例子中,我认为不需要ajax部分。以下是我要做的事;
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
/* Column names goes here for header */
<th>A</th>
<th>B</th>
....
</tr>
</thead>
<tbody>
<%
if(null != modelBeanCollection && modelBeanCollection.size() > 0) {
%>
<%
List<modelBean> projectList = (List<modelBean>)(List<?>) modelBeanCollection;
for (modelBean project : projectList) {
%>
<tr>
<td><%=project.getLastName()%></td>
<td><%=project.getFirstName()%></td>
<td><%=project.getAddress1()%></td>
...
</tr>
<%}
}%>
</tbody>
</table>在$(document).ready事件中,只有这样一个简单的初始化语句;
$('#example').dataTable( {
"processing": true
} );你已经准备好了!
另外,我建议您在JSP页面中使用EL,这样可以省去很多麻烦,而且更容易使用。上面的脚本可以这样编写:
<c:if test="{not empty modelBeanCollection}">
<c:forEach items="${modelBeanCollection}" var="project">
<tr>
<td>${project.getLastName}></td>
<td>${project.getFirstName}></td>
<td>${project.getAddress1}</td>
...
</tr>
</c:forEach>
</c:if>https://stackoverflow.com/questions/29959758
复制相似问题