補充問題:比如用的是Struts1 在Action類 一般都用request。setAttribute(list<T>)
用的是Struts2 直接在Action類定義private List<T> list 頁面直接可以接收到這個list
問題是:為啥有的項目里非要用JsonObject來
JSONObject json = JSONObject.fromObject(list);
System.out.println(json.toString()); //結果為:{"name":"hzucmj","age":22}??有啥區別
JsonObject 就是常說的 json。
能夠看作是一個JSON目標,這是體系中有關JSON界說的根本單元,其包含一對兒(Key/Value)數值。它對外部(External: 應用toString()辦法輸出的數值)調用的呼應體現為一個規范的字符串(例如:{"JSON": "Hello, World"},最外被大括號包裹,其間的Key和Value被冒號":"分隔)。其對于內部(Internal)行為的操作格局稍微,例如:初始化一個JSONObject實例,引證內部的put()辦法增加數值:new JSONObject().put("JSON","Hello, World!"),在Key和Value之間是以逗號","分隔。Value的類型包含:Boolean、JSONArray、JSONObject、Number、String或許默認值JSONObject.NULL object 。
是一種重要的數據傳輸對象。
其格式為{"key1":value1,"key2",value2....};key 必須是字符串。
很像map對不對,一個key,一個value。
因為ajax請求不刷新頁面,但配合js可以實現局部刷新,因此json常常被用來作為異步請求的返回對象使用。
通過response.getWriter()獲取PrintWriter pw,然后pw.print(json)。
如果沒有設置response.setContentType("application/json; charset=utf-8");
則需要自己再js中進行解析。
response.setContentType("application/json; charset=utf-8"); PrintWriter pw = response.getWriter(); Student s = new Student(。。);//反正就是構造一個對象,有沒有數據無所謂 JSONObjet json = JSONObjet .from(s);//將s轉化成json對象。 pw .print(json); pw .flush(); pw .close(); 這樣這個json對象就傳到你發送請求的那個jsp上面。 而$.post(url,datas.function(data){})這里的data就是后臺返回的值,也就是這里的json 只需要 var json = data;//就獲取到了。 再取得原來Student的屬性 var name = json.name(student 的name 屬性);
比較request.setAttribute("key",value);
這個必須配合forwoar來轉發跳轉到需要這個value的jsp頁面。頁面刷新。
Java中交互方式分為同步和異步兩種:
同步交互:指發送一個請求,需要等待返回,然后才能夠發送下一個請求,有個等待過程;
異步交互:指發送一個請求,不需要等待返回,隨時可以再發送下一個請求,即不需要等待。 區別:一個需要等待,一個不需要等待,在部分情況下,我們的項目開發中都會優先選擇不需要等待的異步交互方式。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com