jquery easyui datagrid+struts2+json读取数据

struts配置文件:使用jsonplugin将属性转换成json对象,extends="json-default"resulttype要为json

root是只返回该内容,resultObj与action的属性名字一样,即要返回给页面的值

<packagename="bps"extends="json-default">

<actionname="bps"class="com.alik.bps.action.BpsAction"method="findBps">

<resulttype="json">

<paramname="root">resultObj</param>

</result>

</action>

<actionname="msg"class="com.alik.bps.action.MsgAction"method="findMsg">

<resulttype="json">

<paramname="root">resultObj</param>

</result>

</action>

</package>

action中方法

privateJSONObjectresultObj;//此处定义为JSONObject是因为datagrid默认接收的为json对象而不是json字符串,如果定义为string类型的页面读取数据时会报错,我之前报错为rowsisnotdefined

此处省略resultObj的set\get方法

publicStringfindMsg()throwsException

{

Mapmap=newHashMap();

ArrayListal=newArrayList();

for(inti=0;i<3;i++)

{

Mapm=newHashMap();

m.put("itemid",String.valueOf(i));

m.put("mction","a");

al.add(m);

}

map.put("total",3);

map.put("rows",al);

resultObj=JSONObject.fromObject(map);//将map对象转换成为json对象

System.out.println(resultObj);

returnSUCCESS;

}

页面

$('#inVariables').datagrid({

rownumbers:true,

title:'输入',

height:200,

singleSelect:false,

idField:'itemid',

url:'msg.action',

queryParams:{"ComKey":"","SvcKey":""},

columns:[[

{field:'ck',checkbox:true},

{field:'itemid',title:'ItemID',width:100,align:'right',

editor:{

type:'text'},

formatter:function(value){

return'<ahref="http://blog.163.com/luckcq@yeah/blog/#"onclick="insertAtCaret('+value+')">'+value+'</a>';

}

},

{field:'mction',title:'Action',width:100,align:'center',

formatter:function(value,row,index){

if(row.editing){

vars='<ahref="http://blog.163.com/luckcq@yeah/blog/#"onclick="saverow('+index+',\'inVariables\')">保存</a>';

varc='<ahref="http://blog.163.com/luckcq@yeah/blog/#"onclick="cancelrow('+index+',\'inVariables\')">取消</a>';

returns+c;

}else{

vare='<ahref="http://blog.163.com/luckcq@yeah/blog/#"onclick="editrow('+index+',\'inVariables\')">修改</a>';

varrowid;

if(row.itemid=='')

{

rowid='null';

}

else

rowid=row.itemid;

vard='<ahref="http://blog.163.com/luckcq@yeah/blog/#"onclick="deleterow('+index+',\'inVariables\','+rowid+')">删除</a>';

returne+d;

}

}

}

]],

toolbar:[{

text:'增加行',

iconCls:'icon-add',

handler:function(){

addRow('inVariables');

}

},{

text:'删除多行',

iconCls:'icon-cut',

handler:function(){deleteRows('inVariables');}

}],

onBeforeEdit:function(index,row){

row.editing=true;

$('#inVariables').datagrid('refreshRow',index);

},

onAfterEdit:function(index,row){

row.editing=false;

$('#inVariables').datagrid('refreshRow',index);

},

onCancelEdit:function(index,row){

row.editing=false;

$('#inVariables').datagrid('refreshRow',index);

},

onClickRow:function(index,row){

newDG(row);

}

});

PS:Thisblogiscopyformtheweb,someofthecontentsisnotcorrect,justpasteonmyblogforfurtherreference

相关推荐