我有一个 portlet,其中一个 JSP 页面包含一个填充有 java 对象的表:
这是一个示例代码:
<% {%>
<table id="logtable">
<thead>
<tr><th>From</th><th>To</th><th>Time</th></tr>
</thead>
<tbody>
<c:forEach var="message" items="${messages}">
<tr>
<td><c:out value="${message.sender}"/></td>
<td><c:out value="${message.receiver}"/></td>
<td><c:out value="${message.timestamp}"/></td>
</tr>
</c:forEach>
</tbody>
</table>
<% } %>
我想使用JQuery DataTables 插件将此表设为 DataTable 。我将下载的库放在我的 Liferay portlet 的文件夹中,并在conf 中像这样docroot/js
设置它的路径(按照我引用的教程中的说明):Liferay-portlet.xml
<header-portal-javascript>/js/DataTables/media/js/jquery.js</header-portal-javascript>
<header-portal-javascript>/js/DataTables/media/js/jquery.dataTables.js</header-portal-javascript>
现在神奇的部分来了——我如何从我的示例中实际初始化数据表?
我认为,在我的 JSP 中的表中插入以下脚本(根据教程)会做,但它什么也没做:
<script>
$(document).ready( function () {
$('#logtable').dataTable();
} );
</script>
我做错了什么?也许我在指定我的 JQuery 库的路径时做错了......或者我用错了?我应该在其他地方调用这个函数吗?当谈到 JS 和 Jquery 时,我是一个新手(对不起,这是一个愚蠢的问题),我只需要让这件事工作......
编辑:通过替换<header-portal-javascript>
解决<header-portlet-javascript>