数据表 2 页之后的链接无法正常工作

links on datatables 2 page onwards not working correctly

我目前正在更新数据tables 的新版本,第一页上的 links 工作正常,但在第二页及以后的 links这些页面已更改。

我认为我的问题与此有关https://datatables.net/examples/advanced_init/events_live.html

struts操作返回的数据全部正确。 link 将 jsp 页面分派到 table.

下名为 appSummary 的 div

密码是;

HTML

<table id="listofAppsTable" class="table table-striped table-bordered">
   <thead>
         <tr class="userConModalHeader">
            <th>App Name</th>
            <th>Salsa ID</th>
            <th>App Status</th>
            <th>Critical</th>
            <th>Notifications</th>
            <th>App Level</th>
            <th>Score</th>
            <th>Target</th>
            <th>Stretch Target</th>
        </tr>
    </thead>

    <tbody>
        <s:iterator id="app" value="applicationModel.appList"
                            status="outerStat">

        <%-- Application Summary --%>
        <s:url action="applicationSummaryView.action" var="applicationSummaryViewUrl">
              <s:param name="applicationModel.appListIndex" value="%{#outerStat.index}" />
        </s:url>

        <s:iterator>
            <tr>
                <td><sx:a label="%{#app.application.cpaName} (Non-Scoring)" showLoadingText="false" href="%{applicationSummaryViewUrl}" validate="false" targets="appSummary" showErrorTransportText="false">
                <s:property value="#app.application.cpaName" /> (Non-Scoring)</sx:a></td>
                <td><s:property value="#app.application.salsaId" /></td>
                <td><s:property value="#app.statusName" /></td>
                <td>Y</td>
                <td><s:property value="notificationModel.getNotificationCountForUserAndApplication(#session.userid, #app.application.applicationId)"/></td>
                <td><s:property value="#app.appLevel" /></td>
                <td><s:property value="#app.percentScore" />%</td>
                <td><s:property value="#app.targetPercentScore" />%</td>
                <td><s:property value="#app.stretchTarget" />%</td>
            </tr>
        </tbody>
  <div id="appSummary"></div>

Struts.xml

<action name="applicationSummaryView" method="initApplicationSummary"
        class="com.bt.nfmi.action.lead.LeadHomeAction">
        <interceptor-ref name="loginStack" />
        <result type="dispatcher">/pages/includes/applicationSummary.jsp</result>
</action>

Jquery

 $(window).load(function() {
  $("#listofAppsTable").DataTable({
    dom : "<'row'<'col-md-3'l><'col-md-4'f><'col-md-3'><'col-md-2'B>>t<'row'<'col-md-6'i><'col-md-6'p>>",
    lengthMenu : [ [ 10, 25, 50, -1 ],
                    [ 10, 25, 50, "All" ] ],
    buttons : [ "copyFlash", "csvFlash" ]
});

链接是使用 <s:url> 标签制作的。但是您应该在 action 属性中使用 操作名称 。操作名称在 struts.xml 中定义,并且没有扩展名。让 URL 建造者建造 URLs。在 action 属性中使用错误的操作名称会导致类似 URL 的值保持不变且相对于基本路径的错误。

<s:url action="applicationSummaryView" var="applicationSummaryViewUrl">
   <s:param name="applicationModel.appListIndex" value="%{#outerStat.index}" />
</s:url>