『壹』 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>