0

データテーブルをサーバー側処理に変更しました。この時点から、行属性は機能しなくなったようです。

これは、JSP 内のデータテーブルの私の定義です。

<datatables:table id="users" url="/user_User_Json_List_Dandelion.action" serverSide="true" row="user">
        <datatables:column titleKey="user.user.list.username" sortable="false" property="benutzername" />
        <datatables:column titleKey="user.user.list.prename" sortable="false" property="person.vorname" />
        <datatables:column titleKey="user.user.list.surname" sortable="false" property="person.nachname" />
        <datatables:column titleKey="user.user.list.email" sortable="false" property="person.email" />
        <datatables:column cssCellClass="img" sortable="false" cssCellStyle="width: 40px">
            bla<c:if test="${user.gesperrt}">
                <img src="<%=request.getContextPath()%>/static/images/locked.gif" title="<s:text name="%{getText('user.user.list.locked')}"/>"
                    alt="<s:text name="%{getText('user.user.list.locked')}"/>" />
            </c:if>
            <c:if test="${!user.aktiv}">
                <img src="<%=request.getContextPath()%>/static/images/delete.gif" title="<s:text name="%{getText('user.user.list.delete')}"/>"
                    alt="<s:text name="%{getText('user.user.list.delete')}"/>" />
            </c:if>
        </datatables:column>
        <datatables:column cssCellClass="img" sortable="false" cssCellStyle="width: 20px">
            <c:if test="${!user.systemBenutzer}">
                <s:url var="edit" action="user_User_Edit_Pre">
                    <s:param name="benutzerId">${user.benutzerId}</s:param>
                </s:url>
                <s:a href="%{edit}" title="%{getText('user.user.edit.header')}">
                    <img src="<%=request.getContextPath()%>/static/images/edit.gif" title="<s:text name="%{getText('user.user.edit.header')}"/>"
                        alt="<s:text name="%{getText('user.user.edit.header')}"/>" />
                </s:a>
            </c:if>
        </datatables:column>
        <datatables:column cssCellClass="img" sortable="false" cssCellStyle="width: 20px">
            <s:url var="listRights" action="user_Auth_List_Pre">
                <s:param name="benutzerId">${user.benutzerId}</s:param>                   
            </s:url>
            <s:a href="%{listRights}" title="%{getText('user.user.list.listRights')}">
                <img src="<%=request.getContextPath()%>/static/images/user_details.gif" title="<s:text name="%{getText('user.user.list.listRights')}"/>"
                    alt="<s:text name="%{getText('user.user.list.listRights')}"/>" />
            </s:a>
        </datatables:column>
    </datatables:table>

たとえば '' のようなすべての呼び出しが機能しません。サーバー側の処理をオンにして以来、利用可能なユーザー変数はありません。

Json WebService からの私の Json Result は次のようになります。

{"data":[{"aktiv":true,"benutzerId":"8a2fde263d8b94000144020a7e066fa5","benutzername":"adm_boegel","gesperrt":false,"systemBenutzer":false},{.....

それで、ここで何がうまくいかないのですか?他にどのようにデータにアクセスできますか?

助けてくれてありがとう。

編集:

テストのために、列の1つを次のように変更しました。

<datatables:column cssCellClass="img" sortable="false" cssCellStyle="width: 40px">
                hello
        </datatables:column>

'hello' は、約 2500 行のいずれにも出力されません。

編集2:

サーバー側に設定するたびに、経由でのみデータにアクセスできます

サーバー側を使用しない場合は、行属性や ${user.gesperrt} なども使用できます

多分それはバグですか?

4

1 に答える 1