关于dataTable 服务器端json字符串的传递

问题描述

使用struts2自带的json result机制前台取不到值public class DataTablesAction {private String DTJson;public String toList(){return "success";}public String list(){try {HashMap<String,String> queryConditionMap = new HashMap<String,String>();HttpServletRequest request = ServletActionContext.getRequest();HttpServletResponse response = ServletActionContext.getResponse();response.setCharacterEncoding("utf-8");DataTablesParameter dtp =DtpUtils.getDTParameter(request);ResultListBean rsBean = new ResultListBean();rsBean.setStartRecord(dtp.getStartRecord());rsBean.setDisplayRecord(dtp.getDisplayRecord());DataDAO dao=new DataDAO();rsBean=dao.findAll(rsBean, queryConditionMap, dtp);DTJson = DtpUtils.toJsonForDTS(rsBean.getResultList(),rsBean.getTotalRecord(),Integer.parseInt(dtp.getSEcho()));return "success";} catch (Exception e) {e.printStackTrace();return "error";}}public String getDTJson() {return DTJson;}public void setDTJson(String dTJson) {DTJson = dTJson;}}<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts><package name="main" extends="json-default"><default-action-ref name="index"/><action name="index"><result name="success">/WEB-INF/jsp/welcome.jsp</result></action><action name="getMenu"><result name="success">/WEB-INF/jsp/menu.jsp</result></action><action name="showDataTables" class="action.DataTablesAction" method="toList"><result name="success">/WEB-INF/jsp/showDataTables.jsp</result></action><action name="getListForDataTables" class="action.DataTablesAction" method="list"><result type="json"><param name="root">DTJson</param></result></action></package></struts> 改为response.out就可以获取到public String list(){try {HashMap<String,String> queryConditionMap = new HashMap<String,String>();HttpServletRequest request = ServletActionContext.getRequest();HttpServletResponse response = ServletActionContext.getResponse();response.setCharacterEncoding("utf-8");DataTablesParameter dtp =DtpUtils.getDTParameter(request);ResultListBean rsBean = new ResultListBean();rsBean.setStartRecord(dtp.getStartRecord());rsBean.setDisplayRecord(dtp.getDisplayRecord());DataDAO dao=new DataDAO();rsBean=dao.findAll(rsBean, queryConditionMap, dtp);response.getWriter().print(DtpUtils.toJsonForDTS(rsBean.getResultList(),rsBean.getTotalRecord(),Integer.parseInt(dtp.getSEcho())));return null;} catch (Exception e) {e.printStackTrace();return "error";}}<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts><package name="main" extends="json-default"><default-action-ref name="index"/><action name="index"><result name="success">/WEB-INF/jsp/welcome.jsp</result></action><action name="getMenu"><result name="success">/WEB-INF/jsp/menu.jsp</result></action><action name="showDataTables" class="action.DataTablesAction" method="toList"><result name="success">/WEB-INF/jsp/showDataTables.jsp</result></action><action name="getListForDataTables" class="action.DataTablesAction" method="list"></action></package></struts> 页面脚本:$(document).ready(function(){TableTools.DEFAULTS.aButtons = [];var dt=$("#dataList").dataTable({ //"sScrollY": "400px", "bScrollCollapse": true, "bPaginate": true, "bJQueryUI": true, "sPaginationType": "full_numbers", "aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "全部"]], "bLengthChange":true, "oLanguage": { "sUrl": "include/dataTables_cn.txt" }, "bSort":true, "aaSorting": [[ 1, "asc" ]], "sDom": '<"H"Tfrl>t<"F"ip>', "bProcessing": true, "bServerSide": true, "sAjaxSource": "getListForDataTables.action?rand="+Math.random(), "fnServerData" : function(sSource, aoData, fnCallback) { $.ajax({ "type" : "post", "url" : sSource, "dataType" : "json", "data" : aoData, "success" : function(resp) { fnCallback(resp); $("#selectAll").removeAttr("checked"); } }); }, "aoColumns": [ {"sName":"all","sClass":"center", "bSearchable": false,"bSortable":false, "fnRender":function(oObj){ return "<input type='checkbox' name='isCheck' value='"+oObj.aData[1]+"'/>"; } }, { "sName": "wpbh", "sClass": "center"}, { "sName": "wpmc", "sClass": "center"}, { "sName": "rkrq", "sClass": "center"}, { "sName": "dj", "sClass": "center"}, { "sName": "kcsl", "sClass": "center"}, { "sName": "lyr", "sClass": "center"}, { "sName": "operation", "sClass": "center", "bSearchable": false, "bSortable":false, "fnRender": function (oObj) { return "<a href= 'javascript:;' onclick='modify(""+oObj.aData[1]+"")'><img src='images/edit.png'/>修改</a>&nbsp;<a href= 'javascript:;' onclick='deleteRow(""+oObj.aData[1]+"")'><img src='images/delete.png'/>删除</a>"; } } ]});$("#selectAll").click(function(){if($(this).attr("checked")=="checked"){$("input[name='isCheck']").attr("checked","checked");}else{$("input[name='isCheck']").removeAttr("checked");}});}); <body> <table id="dataList" width="100%" align="center" style="font-size:11px;"> <thead> <tr> <th align="center" width="1"><input id="selectAll" type="checkbox" /></th> <th align="center" width="15%">物品编号</th> <th align="center" width="15%">物品名称</th> <th align="center" width="15%">入库时间</th> <th align="center" width="15%">单价(元)</th> <th align="center" width="15%">库存数量</th> <th align="center" width="15%">领用人</th> <th align="center" width="15%">操作</th> </tr> </thead> <tbody id="dataBody"> </tbody> <tfoot> </tfoot> </table> </body>不明白原因是什么?附件是源码,哪位有空劳烦给看一下

解决方案

可以参考result type=“json”的配置使用方法http://kingxss.iteye.com/blog/1622455
解决方案二:
你应该返回DTJson ,不是返回success

时间: 2024-10-31 15:23:44

关于dataTable 服务器端json字符串的传递的相关文章

asp.net使用DataTable构造Json字符串的方法_实用技巧

本文实例讲述了asp.net使用DataTable构造Json字符串的方法.分享给大家供大家参考,具体如下: /// <summary> /// 将datatable转换为json /// </summary> /// <param name="dtb"></param> /// <returns></returns> private string Dtb2Json(DataTable dtb) { JavaScr

【项目经验】DataTable与JSON之间的转换

[项目需求]     问卷调查的制作学生端已经完成了,下一步要做的便是后台对问卷结果的管理.通过和老师的沟通,了 解到老师想要的结果是按专业查询的结果,而其中包括两门课程.所以,接下来的工作便很明确了. [项目设计]     对问卷结果的回收内容明确之后,第一项工作便是页面的设计.如下:     在导航栏新增对此次问卷调查的菜单,其下包括三个子菜单,也就是本次问卷包含的三种题型,分开查询.每个页面,通过课程与专业的选择,进行问卷结果的查询. [项目开发]     本次项目开发的具体步骤不一一写下

服务器端JSON数据或者xml数据如何存放和设置

问题描述 服务器端JSON数据或者xml数据如何存放和设置 本人初学,正在做关于手机app版本升级这块,手机app要从网上得到app version信息,这就需要用到JSON或者xml.现在问题是我知道JSON和xml数据如何解析,但不知道如何从服务器或者其他网页上等得到JSON和xml数据,还有我怎么才能生成JSON或xml数据文件,要以什么样的形式(嵌到代码里还是直接把生成的文件copy到服务器上等等就可以)放到网页上或者服务器上,生成JSON数据是不是还要用到servlet,这个没研究过.

Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mengzhengbin520.blog.51cto.com/7590564/1283361 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - Decembe

jquery的$getjson调用并获取远程的JSON字符串问题_javascript技巧

代码如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equ

python中将字典转换成其json字符串_python

#这是Python中的一个字典 dic = { 'str': 'this is a string', 'list': [1, 2, 'a', 'b'], 'sub_dic': { 'sub_str': 'this is sub str', 'sub_list': [1, 2, 3] }, 'end': 'end' } //这是javascript中的一个JSON对象 json_obj = { 'str': 'this is a string', 'arr': [1, 2, 'a', 'b'],

JS对象与json字符串格式转换实例_javascript技巧

本文实例讲述了JS对象与json字符串格式转换的实现方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <head>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title></title>     <script type="text/javascript"&g

json.net将datatable转为json后如何替换其中的某个字段

问题描述 我将一个datatable转为json:[{state:1},{state:2}],现有一个枚举publicenumOrderState{[Description("生成订单")]State1=1,[Description("确认订单")]State2=2,[Description("完成订单")]State3=3,[Description("取消订单")]State4=4,[Description("作废

C#中DataTable 转换为 Json的方法汇总(三种方法)_C#教程

在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,Ajax异步请求的数据格式就是Json.鉴于此,我今天来分享将DataTable 转换成 Json的3种方法.换句话说如何在ASP.NET将一个DataTable序列化为 Json数组.或者如何从一个DataTable返回一个Json字符串.这篇文章将采用StringBuilder,JavaScriptSeri