91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Struts 2中實現Ajax的三種方式

發布時間:2020-10-13 14:39:07 來源:腳本之家 閱讀:176 作者:男吖 欄目:編程語言

Ajax本質上和普通的HTTP請求是一樣的,只不過普通的HTTP請求是給人看的,而Ajax請求是給JS代碼去用的。

所以Ajax請求的頁面一般比普通的HTTP請求的響應內容還要簡單,可能是一個頁面的一部分,也可能是xml、json等結構化的數據,還可能是一個簡單的字符串。

所以,在Struts 2中使用Ajax,Action一般就不會調用一個jsp視圖來顯示了(如果Ajax請求內容是頁面的一部分也可能調用jsp視圖),而是通過一些其他的方式。

下面介紹了三種方法,用于Action實現Ajax請求。

Struts 2中實現Ajax的三種方式

Struts 2中實現Ajax的三種方式

方法1:依賴Servlet API

在Action的方法中return NONE或return null表示直接用Action來處理,而不需要調用result,所以在配置文件的action標簽中也沒有result標簽。

這里直接獲取到Servlet中的HttpServletResponse對象,通過response的輸出流寫一個字符串,和不使用Struts 2直接用Servlet類似。

方法2:使用result type="stream"

在Struts 2的文檔中推薦了一個比上一個方法更簡單的方式,使用type為stream的result。通過這種方法,可以不依賴于Servlet API,所以單元測試會更方便。

Struts 2中實現Ajax的三種方式

Struts 2中實現Ajax的三種方式

在struts配置文件中,result的type設為stream。其中包含兩個參數,第一個是contentType,表示響應的類型,如果有中文的話最好設置一下編碼,第二個參數是用來指定Action中的對應的輸入流,它的默認值就是inputStream,所以可以省略。

方法3:struts 2 json插件

上面兩種方法可以返回的內容很隨意,可以是任何字符串。

在很多Ajax請求會用到json字符串,因為它可以很方便的轉換成JavaScript對象。

使用struts2-json-plugin可以很方便的生成json(用上面的兩種方法調用json工具生成json也是不錯的選擇,這樣可以不用使用這個插件)。

Struts 2中實現Ajax的三種方式

Struts 2中實現Ajax的三種方式

在package中extends應該改為json-default而不是struts-default,result的type設為json。

通過瀏覽器打開這個頁面可以看到這個json:

{"age":22,"friends":["姚明","林丹"],"name":"xxg"}

Struts 2中實現Ajax的三種方式

總結

以上所述是小編給大家介紹的Struts 2中實現Ajax的三種方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卓尼县| 桐梓县| 砀山县| 明水县| 灵石县| 普宁市| 隆德县| 珠海市| 莱州市| 隆昌县| 广河县| 泾源县| 扶余县| 普兰县| 吕梁市| 吉林省| 明光市| 台州市| 济阳县| 莱州市| 武义县| 泌阳县| 潮安县| 楚雄市| 犍为县| 鲁甸县| 马龙县| 海淀区| 荣昌县| 河东区| 博罗县| 正镶白旗| 奇台县| 朔州市| 两当县| 昌黎县| 墨竹工卡县| 黄大仙区| 横峰县| 景泰县| 呈贡县|