数据表2页面上的链接无法正常工作

时间:2015-08-20 10:38:10

标签: jsp url struts2 datatables datatables-1.10

我目前正在更新为新版本的数据表,第一页上的链接正常工作,但在第二页上,这些页面上的链接都会被更改。

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

有关

struts动作返回的数据都是正确的。该链接将jsp页面调度到表格下的名为@MappedSuperclass public abstract class BaseBean{ @Id @GeneratedValue Long id; String name; } @Entity public class A extends BaseBean{ } @Entity public class B extends BaseBean{ } 的div中。

代码是;

HTML

appSummary

struts.xml中

<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>

Jquery的

<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>

1 个答案:

答案 0 :(得分:1)

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

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