Json 行属性在更改为服务器端处理后不再工作
我将数据表更改为服务器端处理。从这一点上看,行属性似乎不再起作用 这是我在JSP中对datatable的定义:Json 行属性在更改为服务器端处理后不再工作,json,datatables,dandelion,Json,Datatables,Dandelion,我将数据表更改为服务器端处理。从这一点上看,行属性似乎不再起作用 这是我在JSP中对datatable的定义: <datatables:table id="users" url="/user_User_Json_List_Dandelion.action" serverSide="true" row="user"> <datatables:column titleKey="user.user.list.username" sortable="false" pro
<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>
那么这里出了什么问题?
我还可以如何访问数据
谢谢你的帮助
编辑:
为了进行测试,我将其中一列更改为:
<datatables:column cssCellClass="img" sortable="false" cssCellStyle="width: 40px">
hello
</datatables:column>
你好
“hello”一词在2500行左右的文字中从未打印出来
编辑2:
每当设置为服务器端时,我只能通过
当不使用服务器端时,我还可以使用row属性等
${user.gesperrt}
也许是虫子 如本文件前一章所述 8.3。自定义列内容 只能使用property属性使用列标记,而my使用renderFunction属性调用java脚本,该脚本随后可能会处理一些逻辑。 但据我观察,这些java脚本调用返回一些html(如img标记)会减慢渲染速度 我希望最终服务器端处理会在速度上带来一些好处 我的dandelion datatables列如下所示:
<datatables:column property="aktiv" renderFunction="produceUserLockedIcon"/>
<script type="text/javascript">
function produceUserLockedIcon(data, type, full) {
return "testString: " + '<a href="blaa">blaa</a>' + '<img src="<%=request.getContextPath()%>/static/images/locked.gif"\>';
}
</script>
我的java脚本如下所示:
<datatables:column property="aktiv" renderFunction="produceUserLockedIcon"/>
<script type="text/javascript">
function produceUserLockedIcon(data, type, full) {
return "testString: " + '<a href="blaa">blaa</a>' + '<img src="<%=request.getContextPath()%>/static/images/locked.gif"\>';
}
</script>
函数produceUserLockedIcon(数据、类型、完整){
返回“testString:”+“”+”/static/images/locked.gif“\>”;
}