Jsp 使用Dandelion Datatables的AJAX源表的自定义列

Jsp 使用Dandelion Datatables的AJAX源表的自定义列,jsp,datatables,dandelion,Jsp,Datatables,Dandelion,我已经使用Dandelion Datatables和data属性有一段时间了 昨天我开始使用url属性,现在我无法自定义列 我有以下资料: <datatables:table id="statesTable" url="/find" pipelining="true" cssClass="table table-striped" pagingType="bootstrap_simple" dom="tip"> <datatables:column property="na

我已经使用Dandelion Datatables和data属性有一段时间了

昨天我开始使用url属性,现在我无法自定义列

我有以下资料:

<datatables:table id="statesTable" url="/find" pipelining="true" cssClass="table table-striped" pagingType="bootstrap_simple" dom="tip">

  <datatables:column property="name" titleKey="name.label"/>

  <datatables:column titleKey="actions.label">
    <div class="btn-group">
      <spring:url value="update" var="updateUrl">
        <spring:param name="statusId" value="${id}"/>
      </spring:url>
      <a href="${updateUrl}"><fmt:message key="actions.update"/></a>
    </div>
  </datatables:column>

</datatables:table>
生成的HTML为:

<tbody>
    <tr role="row" class="odd">
        <td class="sorting_1">asañdsfadsfasfdfsad</td><td></td>
    </tr>
    <tr role="row" class="even">
        <td class="sorting_1">asdfasdf</td><td></td>
    </tr>
    <tr role="row" class="odd">
        <td class="sorting_1">asdfasdfasdf</td><td></td>
    </tr>
    <tr role="row" class="even">
        <td class="sorting_1">Cinco</td><td></td>
    </tr>
    <tr role="row" class="odd">
        <td class="sorting_1">Cuatro</td><td></td>
    </tr>
    <tr role="row" class="even">
        <td class="sorting_1">Dos</td><td></td>
    </tr>
    <tr role="row" class="odd">
        <td class="sorting_1">Feo</td><td></td>
    </tr>
    <tr role="row" class="even">
        <td class="sorting_1">Foobar</td><td></td>
    </tr>
    <tr role="row" class="odd">
        <td class="sorting_1">Otro</td><td></td>
    </tr>
    <tr role="row" class="even">
        <td class="sorting_1">Test</td><td></td>
    </tr>
</tbody>

asañdsfadsfasfasfdfsad
asdfasdf
asdfasdfasdf
钦科
库托
磁盘操作系统
氧化铁
福巴
奥特罗
试验
正如您所看到的,定制列的td中没有任何内容。为了使自定义列正常工作,我需要配置什么吗???(我使用数据而不是url测试了同一列,它工作得非常好)


谢谢大家!

由于datatable处于AJAX模式,所以
中的所有内容都不会被处理(因为它应该在服务器上处理,当使用
url
时,它会在浏览器上处理)

因此,您需要指定一个
renderFunction
并实现它

大概是这样的:

<datatables:column titleKey="actions.label" property="id" renderFunction="formatColumn">
<datatables:column titleKey="actions.label" property="id" renderFunction="formatColumn">
function formatColumn(data) {
    var div = $('<div>', {'class': 'btn-group'});

    $('<a>', {href: 'update?statusId=' + data, text:'Update'})appendTo(div);

    return $('<div>').append(div).html();
}