JSON-lib转化JAVA对象为JSON格式字符串 收藏
续上文
还有一种方法是用JSON-lib转化成JSON格式字符串,需要加入json-lib-2.2-jdk13.jar和5个类库:
commons-lang-2.0.jar
commons-io-1.3.2.jar
commons-collections-3.2.jar
commons-beanutils-1.7.0.jar
ezmorph-1.0.4.jar
其中JSON-lib包可以到http://json-lib.sourceforge.net下载
如果用这种方法转化,则需要添加一个封装类:例如ListRange.java
下面是内容
view plaincopy to clipboardprint?
import java.util.ArrayList;
import java.util.List;
public class ListRange<T> {
boolean success;
String message;
long totalSize;
List<T> list;
public ListRange() {
this.totalSize = 0;
this.list = new ArrayList<T>();
}
public long getTotalSize() {
return totalSize;
}
public void setTotalSize(long totalSize) {
this.totalSize = totalSize;
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
import java.util.ArrayList;
import java.util.List;
public class ListRange<T> {
boolean success;
String message;
long totalSize;
List<T> list;
public ListRange() {
this.totalSize = 0;
this.list = new ArrayList<T>();
}
public long getTotalSize() {
return totalSize;
}
public void setTotalSize(long totalSize) {
this.totalSize = totalSize;
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
创建一个BaseAction.java
内容为:
view plaincopy to clipboardprint?
public HttpServletRequest getRequest() {
return ServletActionContext.getRequest();
}
public HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
}
public void outJsonString(String str) {
getResponse().setContentType("text/javascript;charset=UTF-8");
outString(str);
}
public void outJson(Object obj) {
outJsonString(JSONObject.fromObject(obj).toString());
}
public void outJsonArray(Object array) {
outJsonArray(JSONArray.fromObject(array).toString());
}
public void outString(String str) {
try {
PrintWriter out = getResponse().getWriter();
out.write(str);
} catch (IOException e) {
}
}
public void outXMLString(String xmlStr) {
getResponse().setContentType("application/xml;charset=UTF-8");
outString(xmlStr);
}
public HttpServletRequest getRequest() {
return ServletActionContext.getRequest();
}
public HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
}
public void outJsonString(String str) {
getResponse().setContentType("text/javascript;charset=UTF-8");
outString(str);
}
public void outJson(Object obj) {
outJsonString(JSONObject.fromObject(obj).toString());
}
public void outJsonArray(Object array) {
outJsonArray(JSONArray.fromObject(array).toString());
}
public void outString(String str) {
try {
PrintWriter out = getResponse().getWriter();
out.write(str);
} catch (IOException e) {
}
}
public void outXMLString(String xmlStr) {
getResponse().setContentType("application/xml;charset=UTF-8");
outString(xmlStr);
}
创建一个TestAction.java
内容为:
view plaincopy to clipboardprint?
public void select() {
// TODO Auto-generated method stub
response.setCharacterEncoding("gb2312");
ListRange<TestBean> stuList = new ListRange<TestBean>();
List<TestBean> list = TestDAO.getList();
stuList.setList(list);
stuList.setTotalSize(list.size());
outJson(stuList);
}
public void select() {
// TODO Auto-generated method stub
response.setCharacterEncoding("gb2312");
ListRange<TestBean> stuList = new ListRange<TestBean>();
List<TestBean> list = TestDAO.getList();
stuList.setList(list);
stuList.setTotalSize(list.size());
outJson(stuList);
}
index.jsp页面内容为:
view plaincopy to clipboardprint?
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="/ext2/resources/css/ext-all.css" mce_href="ext2/resources/css/ext-all.css" />
<mce:script type="text/javascript" src="/ext2/adapter/ext/ext-base.js" mce_src="ext2/adapter/ext/ext-base.js"></mce:script>
<mce:script type="text/javascript" src="/ext2/ext-all.js" mce_src="ext2/ext-all.js"></mce:script>
</head>
<body>
<mce:script type="text/javascript" ><!--
Ext.onReady(function(){
var store=new Ext.data.JsonStore({
url:"test!select.ph",
totalProperty: "totalSize",
root: "list",
fields:[{name:'id',mapping:'id'}, {name:'name',mapping:'name'},{name:'password',mapping:'password'}]
});
store.load();
var gird=new Ext.grid.GridPanel({
renderTo:"hello",
title:"欢迎登录",
height:150,
width:300,
columns:[
{header:"编号",dateindex:"id"},
{header:"账号",dateindex:"name"},
{header:"密码",dateindex:"password"}
],
store:store,
autoExpandColumn:2
})
})
// --></mce:script>
<div id="hello"> </div>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="/ext2/resources/css/ext-all.css" mce_href="ext2/resources/css/ext-all.css" />
<mce:script type="text/javascript" src="/ext2/adapter/ext/ext-base.js" mce_src="ext2/adapter/ext/ext-base.js"></mce:script>
<mce:script type="text/javascript" src="/ext2/ext-all.js" mce_src="ext2/ext-all.js"></mce:script>
</head>
<body>
<mce:script type="text/javascript" ><!--
Ext.onReady(function(){
var store=new Ext.data.JsonStore({
url:"test!select.ph",
totalProperty: "totalSize",
root: "list",
fields:[{name:'id',mapping:'id'}, {name:'name',mapping:'name'},{name:'password',mapping:'password'}]
});
store.load();
var gird=new Ext.grid.GridPanel({
renderTo:"hello",
title:"欢迎登录",
height:150,
width:300,
columns:[
{header:"编号",dateindex:"id"},
{header:"账号",dateindex:"name"},
{header:"密码",dateindex:"password"}
],
store:store,
autoExpandColumn:2
})
})
// --></mce:script>
<div id="hello"> </div>
</body>
</html>
就可以成功查询出数据了
今天开始研究这个代码,看了很久。参考了一个这样的例子,怎么弄的都没有弄出来还一直报错,后来看了一个资料书《Ext js Web应用程序开发指南》,最后在里面找到了答案,原来是我那5个类库没有导入,还有json-lib-2.2-jdk13.jar包没有导入
还有就是第一种方法,也是看了我很久不知道为什么不行,最后才注意到原来是<package name="teaweb" extends="json-default" namespace="/">这里的配置问题,终于弄出来了,感觉学到了不少东西 哈哈
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liu_moyan/archive/2009/12/01/4915786.aspx
个人签名
-------------------------------------
图盾 淘宝保护 保护图片 图片防盗
分享到:
相关推荐
json-lib-2.4-jdk15.jar下载,json-lib是一款简单易用的Java JSON库。它可以将Java对象转换成JSON字符串,也可以将JSON字符串转换成Java对象。json-lib体积小、无依赖,性能表现也不错,适合在各种Java项目中使用。 ...
使用json-lib实现json与Java对象的互转
NULL 博文链接:https://yxgyh.iteye.com/blog/392657
1、json的核心包:json-lib-2.4-jdk15.jar; 2、json-lib-2.4-jdk15.jar依赖的jar包:commons-beanutils-1.9.3.jar,commons-collections-3.2.2.jar,commons-lang-2.6.jar,commons-logging-1.2.jar,ezmorph-1.0.6...
JSON-lib包json-lib-0.8.jar和json-lib-0.9.jar包
里面包含json-lib所需的全部jar文件. json-lib-2.1-jdk15.jar ezmorph-1.0.3.jar commons-beanutils.jar commons-collections-3.2.1.jar commons-lang-2.4.jar commons-logging-1.1.1.jar
json基础jar包,包含json-lib-2.3-jdk15.jar源码
json架包,包好json-lib-2.2.3-jdk13.jar,json-lib-2.4-jdk14.jar以及附带的支持包ezmorph-1.0.6.jar,commons-logging.jar,commons-lang.jar等
<groupId>net.sf.json-lib</groupId> <artifactId>json-lib <version>2.4 <classifier>jdk15 或者直接下载这个包
json-lib-2.4-jdk15所需全部JAR包,资源清单 json-lib-2.4-jdk15.jar 依赖: ezmorph-1.0.6.jar commons-beanutils-1.8.3.jar commons-lang-2.5.jar morph-1.1.1.jar commons-logging-1.1.1.jar commons-collections-...
json-lib-2.4-jdk15.jar json-lib-2.4-jdk15-sources.jar json-lib-2.4-jdk15-javadoc.jar 包含文件有:json-lib-2.4-jdk15.jar json-lib-2.4-jdk15-sources.jar json-lib-2.4-jdk15-javadoc.jar
json-lib-2.2.3-jdk15-javadoc.jar json 源代码
json-lib-2.4-jdk15依赖的库文件: 压缩包内容: commons-beanutils-1.8.0.jar commons-collections-3.1.jar commons-lang-2.5.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar json-lib-2.4-jdk15-javadoc.jar ...
jquery和struts2结合使用的jar包
json的核心包:json-lib-2.4-jdk15.jar;json-2.4所依赖的jar包:commons-beanutils-1.8.0.jar,commons-collections-3.2.1.jar,commons-lang-2.5.jar,commons-logging-1.1.1.jar,ezmorph-1.0.6.jar;以及和...
json-lib-2.2.3-jdk13.jar commons-beanutils-1.7.0.jar commons-collections-3.2.1.jar commons-lang-2.4.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar
json-lib-2.4-jdk15-sources.jar 是net.sf.json-lib-jdk15-2.4的源码文件
json-lib-1.1-jdk13-javadoc,欢迎下载。
json-lib-2.4-jdk15.jar所需全部JAR包需要的伙伴们下载