亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Struts 2中實(shí)現(xiàn)Ajax的三種方式

 更新時(shí)間:2019年05月30日 16:44:27   作者:男吖  
這篇文章主要介紹了Struts 2中實(shí)現(xiàn)Ajax的三種方式,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

所以Ajax請(qǐng)求的頁面一般比普通的HTTP請(qǐng)求的響應(yīng)內(nèi)容還要簡(jiǎn)單,可能是一個(gè)頁面的一部分,也可能是xml、json等結(jié)構(gòu)化的數(shù)據(jù),還可能是一個(gè)簡(jiǎn)單的字符串。

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

下面介紹了三種方法,用于Action實(shí)現(xiàn)Ajax請(qǐng)求。

方法1:依賴Servlet API

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

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

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

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

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

方法3:struts 2 json插件

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

在很多Ajax請(qǐng)求會(huì)用到j(luò)son字符串,因?yàn)樗梢院芊奖愕霓D(zhuǎn)換成JavaScript對(duì)象。

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

在package中extends應(yīng)該改為json-default而不是struts-default,result的type設(shè)為json。

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

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

總結(jié)

以上所述是小編給大家介紹的Struts 2中實(shí)現(xiàn)Ajax的三種方式,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • IDEA遇到Internal error. Please refer to http://jb. gg/ide/critical-startup-errors的問題及解決辦法

    IDEA遇到Internal error. Please refer to http://jb. gg/ide/crit

    這篇文章主要介紹了IDEA遇到Internal error. Please refer to http://jb. gg/ide/critical-startup-errors的問題及解決辦法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2020-08-08
  • Java+MySQL 圖書管理系統(tǒng)

    Java+MySQL 圖書管理系統(tǒng)

    這篇文章是BUFFER.pwn同學(xué)分享的基于Java與MySQL的圖書管理系統(tǒng),需要的朋友可以參考一下
    2021-04-04
  • Spring中利用SchedulingConfigurer實(shí)現(xiàn)動(dòng)態(tài)定時(shí)任務(wù)配置的示例

    Spring中利用SchedulingConfigurer實(shí)現(xiàn)動(dòng)態(tài)定時(shí)任務(wù)配置的示例

    定時(shí)任務(wù)是一項(xiàng)至關(guān)重要的功能,它們使得我們能夠按照預(yù)定的時(shí)間執(zhí)行特定的任務(wù),本文主要介紹了Spring中利用SchedulingConfigurer實(shí)現(xiàn)動(dòng)態(tài)定時(shí)任務(wù)配置的示例,感興趣的可以了解一下
    2024-05-05
  • java 音頻轉(zhuǎn)換wav格式標(biāo)準(zhǔn)音頻的操作

    java 音頻轉(zhuǎn)換wav格式標(biāo)準(zhǔn)音頻的操作

    這篇文章主要介紹了java 音頻轉(zhuǎn)換wav格式標(biāo)準(zhǔn)音頻的操作,主要是使用ffmpeg命令進(jìn)行轉(zhuǎn)換,該工具類主要是為了將各類音頻轉(zhuǎn)為wav標(biāo)準(zhǔn)格式,其中可以調(diào)節(jié)采樣率、聲道數(shù)等指標(biāo),依賴maven環(huán)境,需要的朋友可以參考下
    2021-10-10
  • Java Spring IOC圖文詳解

    Java Spring IOC圖文詳解

    IoC是一種讓服務(wù)消費(fèi)者不直接依賴于服務(wù)提供者的組件設(shè)計(jì)方式,是一種減少類與類之間依賴的設(shè)計(jì)原則。下面通過本文給大家分享spring中ioc的概念,感興趣的朋友一起看看吧
    2021-09-09
  • Java基礎(chǔ)-封裝和繼承

    Java基礎(chǔ)-封裝和繼承

    這篇文章主要介紹了Java面向?qū)ο缶幊蹋ǚ庋b/繼承/多態(tài))實(shí)例解析的相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下希望可以幫助到你
    2021-07-07
  • SpringBoot簡(jiǎn)單實(shí)現(xiàn)文件上傳

    SpringBoot簡(jiǎn)單實(shí)現(xiàn)文件上傳

    這篇文章主要介紹了SpringBoot簡(jiǎn)單實(shí)現(xiàn)文件上傳,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-09-09
  • Java中websocket消息推送的實(shí)現(xiàn)代碼

    Java中websocket消息推送的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Java中websocket消息推送的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • java簡(jiǎn)單列出文件夾下所有文件的方法

    java簡(jiǎn)單列出文件夾下所有文件的方法

    這篇文章主要介紹了java簡(jiǎn)單列出文件夾下所有文件的方法,涉及java針對(duì)文件夾遍歷操作相關(guān)技巧,需要的朋友可以參考下
    2016-08-08
  • mybatis對(duì)傳入基本類型參數(shù)的判斷方式

    mybatis對(duì)傳入基本類型參數(shù)的判斷方式

    這篇文章主要介紹了mybatis對(duì)傳入基本類型參數(shù)的判斷方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評(píng)論