『壹』 Ext接受Struts2数据问题(具体怎么接收呢)
直接用..
首先用HttpProxy 请求,读取数据,然后用jsonReader 解析成Record记录。。。
再封装到Store里面。。
如果不用到配置文件里面的json配置。那就在后台直接返回json格式回去。
比如
public void queryAllSupplier(){
try{
String supplierName = ServletActionContext.getRequest().getParameter("supplierName");
List<TSupplier> supplierList = this.supplierService.selectSupplierInfo(supplierName);
int totalCount = supplierList.size();
String supplierJson = JsonUtil.list2json(supplierList); //将集合数据转成Json格式数据
String supJson = "{totalProperty:"+totalCount+",root:"+supplierJson+"}";
OutPrint.print(supJson); //将json格式输出到前台
OutPrint.print("{success:true}");
}catch(Exception ex){
ex.printStackTrace();
OutPrint.print(false);
}
}
然后再前台进行接收。。
var httpProxy = new Ext.data.HttpProxy({
url : "supplier_queryAllSupplier.action"
});
var supplierRecord = new Ext.data.Record.create([{
name : "supid",
mapping : "supid",
type : "int"
}, {
name : "supplierName",
mapping : "supname",
type : "string"
}, {
name : "principal",
mapping : "principal",
type : "string"
}, {
name : "identityID",
mapping : "businesslicencescode"
}, {
name : "tellphone",
mapping : "tep",
type : "string"
}, {
name : "supplierAddress",
mapping : "address",
type : "string"
}, {
name : "linkman",
mapping : "linkman",
type : "string"
}, {
name : "postcode",
mapping : "zip",
type : "string"
}, {
name : "email",
mapping : "email",
type : "string"
}, {
name : "createData",
mapping : "createtiem",
type : "string"
}, {
name : "isAvailable",
mapping : "isdel",
type : "string"
}, {
name : "remark",
mapping : "remark",
type : "string"
},{
name:"faxcode",
mapping:"faxcode",
type:"string"
}]);
// 读取数据,将数据转换成record记录
var reader = new Ext.data.JsonReader({
totalProperty : "totalProperty", // 总记录数
root : "root" // 所有的数据(json对象数组)
}, supplierRecord); //数据对象
var store = new Ext.data.Store({
proxy : httpProxy,
reader : reader,
autoLoad:true
});
store.load({
// 分页参数,每页显示10条数据
params : {
start : 0,
limit : 10
}
})
『贰』 java中,json格式的字符串转换成对象
要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于专以下的JAR包:属
1.commons-lang.jar
2.commons-beanutils.jar
3.commons-collections.jar
4.commons-logging.jar
5.ezmorph.jar
6.json-lib-2.2.2-jdk15.jar
『叁』 ext.util.json.decode这个方法是拿来干什么的
用来对json数据进行转码解析用的 因为我们通过response对象print之后为字符串 那么要通过这个工具类来进行2次转换为json 进而前台可以再次使用
并且还是专门对json二次转义的
通常其实可以不用这个
success:function(response){
mywin.show(); var form=Ext.getCmp('baoxiuform').form; var val=Ext.decode(response.responseText).objData; form.setValues(val); },
『肆』 Extjs之两个JS页面直接的对象传递问题
同一页面的JS上下文是相同作用域的,
你的应该是不同页面间传值、所以借内用了cookies;
//接收页面:
varrecord=Ext.util.Cookies.get("valueJson");
//然后容拿个record列名自己看看
varobj=Ext.decode(record);
alert(obj.colName);
『伍』 extjs有没有把字符串转换成json数据的方法
有的,extjs 可以野困使用 Ext.util.JSON.decode(字颂源念符裂者串) 的方式,将符合JSON规则的字符串,转换为 json对象。
Ext.util.JSON.decode 可以使用缩写 Ext.decode 代替,更为简洁。
『陆』 如何构建json串,并将map转为jsonObject对象的三种方式(scala)
众所周知,kafka中存储的数据是经过BASE64加密后的jsonObject,因此从kafka中读取的数据经过base64解码,得到的是json串,利用JSONObect的方法可以对json串进行解析,拿到对应的数据。那么要如何将scala对象或者java对象转换为JsonObject对象或JSONObject对象呢?(注意:JsonObject对象和JSONObject对象不同,调用的API也不一样)
三种转换方式依赖的包源码都是用JAVA编写,所以构建Map对象时完全使用java对象,不会发生错误。构建过程如下:
三种将java对象转换为jsonObject对象的开源包有:
1、google提供的Genson是一个完全的Java和JSON转换的类库,提供了全面的数据绑定、流操作等。基于Apache 2.0协议发布。转换结果为
JsonObject对象。
使用需要先导入Jar包:import com.google.gson.{Gson, JsonParser}
引入依赖:这里选用版本为:2.2.4,具体版本可以根据业务需求选择。
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
2、Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。
导入jar包:import com.alibaba.fastjson.JSON
引入依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.8</version>
</dependency>
3、net.sf.json-lib方式
导入jar包:import net.sf.json.JSONObject
引入依赖:
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib-ext-spring</artifactId>
<version>1.0.2</version>
</dependency>