<script type="text/javascript">
$("document").ready(function(){
$("#dg").datagrid({
url:'json/test1!action1',//此处url:为从远程服务器获取json的url
title:'用户表',
width:300,
height:200,
method:'get',
singleSelect:true,
collapsible:true,
columns:[[
{field:'uid',title:'ID',width:100},
{field:'userName',title:'用户名',width:100},
{field:'passWord',title:'密码',width:100}
]]
});
$("#dg").datagrid('load',{
uid:'uid',
userName:'userName',
passWord:'passWord'
});
});
</script>
<package name="testJson" namespace="/json" extends="json-default">
<action name="test1" class="com.hugehard.test.action.ActionOne">
<result name="success" type="json">
<param name="root">jarry</param><!-- 注意在action中为其指定get方法 -->
</result>
</action>
</package>
public String action1()throws Exception{
String result=ERROR;
HttpServletResponse resp=ServletActionContext.getResponse();
resp.setContentType("application/json");
User user=new User();
user.setUid(1);
user.setUserName("aaa");
user.setPassWord("bbb");
List lists=new ArrayList();
lists.add(user);
jarry=JSONArray.fromObject(lists);
System.out.println(jarry);
result=SUCCESS;
return result;
}
上面action代码中转换json要转为JSONArray类型,即[{"uid":1,"userName":"aaa","passWord":"bbb"}],否则Datagrid无法读取。
转换JSON所需jar包
stuts2-json-plugin
ezmorph
commons-beanutils
json-lib