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