struts与常用的dataTables和jqueryGrid等表格进行ajax传值时,经常会传值不适配的问题,这是因为struts在进行ajax操作时已经对你要操作的json数据进行了处理,所以不需要再在action中转换为json字符串以jqueryGrid为例

  1.action中的代码如下:

  首先得到jqueryGrid需要的各个属性值,totals,pages,page,rows,这些属性我在前台进行的一些转换,所以代码中的属性名称与这些属性名有些差异,将得到的属性值放在一个action中定义的map集合中

setMap(this.getJsonMap(totalPages, getPage(), totalRecord, equipList));
public Map<String, Object> getJsonMap(int totalpages, int currentpage, int totalrecords, List data){
Map<String, Object> map = new HashMap<String, Object>();
map.put("totalpages", totalpages);
map.put("currentpage", currentpage);
map.put("totalrecords", totalrecords);
map.put("data", data);
return map;
}

  2.struts配置文件中的代码

  其中的root为action返回结果中传到前台的变量,这里strus已经帮我们转换了,所以无需再自己写转换为字符串的代码,如何不写root,则会将action中所有的变量都转换为json对象

<action name="equipInfo" class="com.audiovisualcenter.action.EquipManagerAction" method="equipManager">
<result name="success" type="json">
  <param name="root">map</param>
</result>
</action>

  3.前台的表格一般都需要json对象,所以可以直接适配

  下面是我的前台js代码,为了方便,只粘贴了部分代码

$("#grid-table").jqGrid({
jsonReader : {
root:"data",
page: "currentpage",
total: "totalpages",
records: "totalrecords",
repeatitems: false,
},
url:"equipInfo",
datatype: "json",
mtype:"post",
height: 400,
colNames:['操作','序号','名称','编号', '总数','类型','状况'],
colModel:[
{name:'myac',index:'', width:80, fixed:true, sortable:false, resize:false},
{name:'id',index:'id', width:60, sortable:false,editable: false},
{name:'name',index:'name',width:90, editable:true, sorttype:"date",/*unformat: pickDate*/},
{name:'no',index:'no', width:90,editable: true,editoptions:{size:"20",maxlength:"30"}},
viewrecords : true,
recordtext:"显示第 {0} 至 {1} 项结果,共{2}条结果",
emptyrecords:"未查询到任何记录",
rowNum:10,
rowList:[10,20,30],
pager : "#grid-pager",
pgtext:"{0}",
altRows: true,
autowidth: true,
//shrinkToFit:false,
//加载完成后的修改
loadComplete : function() {
var table = this;
},
});

struts2与常用表格ajax操作的json传值问题的更多相关文章

  1. jQuery常用ajax操作

    在做asp.net项目的时候经常会用到ajax操作,现总结常用的ajax操作供平时项目中参考 第一种: 前端代码: <script type="text/javascript" ...

  2. jquery的常用ajax操作

    $.ajax() 定义和用法 ajax() 方法通过 HTTP 请求加载远程数据. 该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() ...

  3. 【JAVAWEB学习笔记】28_jqueryAjax:json数据结构、jquery的ajax操作和表单校验插件

    Ajax-jqueryAjax 今天内容: 1.json数据结构(重点) 2.jquery的ajax操作(重点) 3.jquery的插件使用   一.json数据结构 1.什么是json JSON(J ...

  4. struts2 的验证框架validation如何返回json数据 以方便ajax交互

    struts2 的验证框架validation简单,好用,但是input只能输出到jsp页面通过struts2的标签<s:fielderror  />才能取出,(EL应该也可以). 如果使 ...

  5. MyEclipse下Struts2配置使用和Ajax、JSON的配合

    原创文章,转载请注明:MyEclipse下Struts2配置使用和Ajax.JSON的配合  By Lucio.Yang 新手,初学Struts2的配置,同时尝试与Ajax通过JSON交互.首先介绍M ...

  6. 【JAVAWEB学习笔记】28_jquery加强:json数据结构、jquery的ajax操作和表单校验插件

    Ajax-jqueryAjax 今天内容: 1.json数据结构(重点) 2.jquery的ajax操作(重点) 3.jquery的插件使用 一.json数据结构 1.什么是json JSON(Jav ...

  7. SQL常用语法及规则-表格的操作

    一.规则和标准 1)每一行SQL语句结尾,加分号: 2)所创建的对象,名字用反引号(不是引号,与~同一个键): 3)一般关键字或保留字要大写: 4)两个中划线 + 空格(-- ),后面的语句为注释语句 ...

  8. 原生js封装ajax:传json,str,excel文件上传表单提交

    由于项目中需要在提交ajax前设置header信息,jquery的ajax实现不了,我们自己封装几个常用的ajax方法. jQuery的ajax普通封装 var ajaxFn = function(u ...

  9. ExtJs3常用控件操作实例

    结合工作内容,不定期更新.这里面可能会讲到一些常用的组件的操作. json: { "total": 30, "data": [{ "funcAlign ...

随机推荐

  1. hdu5410(完全背包变形)

    这是道完全背包,关键点在于如何处理每种物品,第一次放时,价值为A+B,以后放时,价值为A. 所以有三种决策,对于第i种物品,要么不放,要么是作为第一个放,要么是第二个以后放. 作为第一个放时,需要用到 ...

  2. ava Double: 四舍五入并设置小数点位数

    public static void main(String[] args) { // 1. 先乘后四舍五入, 再除; double d = 62.31060027198647; double d2 ...

  3. arcgis for silverlight 鼠标点击地图获取当前经纬度

    silverlight代码: 地图的name值是myMap.后台在页面初始化的时候,添加地图的点击事件 myMap.MouseClick+=new EventHandler<Map.MouseE ...

  4. Gym 100548F Color (数论容斥原理+组合数)

    题意:给定 m 种颜色,把 n 盆花排成一直线的花涂色.要求相邻花的颜色不相同,且使用的颜色恰好是k种.问一共有几种涂色方法. 析:首先是先从 m 种颜色中选出 k 种颜色,然后下面用的容斥原理,当时 ...

  5. ARC102 C~D

    C: 枚举中间点,计算两边点差值,把个数乘起来即可 #include<iostream> #include<cstdio> #include<algorithm> ...

  6. Taro 采坑日常

    组件事件传参只能在类作用域下的确切引用(this.handleXX || this.props.handleXX),或使用 bind. 组件中点击事件如下 // 组件 <AtListItem k ...

  7. 传统的线程互斥技术:Synchronized关键字

    多个线程操作同一个方法或变量时常常出现错误,要保证每个线程都正常运行就要通过加锁,每次只有一个能够拿到锁通过.如下: package cn.sp.thread; /** * Created by 2Y ...

  8. SwipeLayou与ScrollerView滑动冲突

    在SwipeLayout内嵌套ScorllerView滑动会出现上滑滑动冲突,ScollerView不能往上滑,,,,,, mSlv.getViewTreeObserver().addOnScroll ...

  9. 使用方向变换(directional transform)图像分块压缩感知

    论文的思路是先介绍分块压缩感知BCS,然后介绍使用投影和硬阈值方法的迭代投影方法PL,接着将PL与维纳滤波器结合形成SPL(平滑PL),并且介绍了稀疏表示的几种基,提出了两种效果较好的稀疏基:CT与D ...

  10. 找规律 Codeforces Round #309 (Div. 2) A. Kyoya and Photobooks

    题目传送门 /* 找规律,水 */ #include <cstdio> #include <iostream> #include <algorithm> #incl ...