国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

初析Struts2中的Ajax開發實例

開發 后端
Ajax作為WEB開發中的明星,自有其性能和開發上的優勢。本文將給大家簡單介紹Struts2中的Ajax開發實例,希望對大家有所幫助。

  Web2.0的隨波逐流,Ajax那是大放異彩,Struts2框架自己整合了對Ajax的原生支持(struts 2.1.7+,之前的版本可以通過插件實現),框架的整合只是使得JSON的創建變得異常簡單,并且可以簡單的融入到Struts2框架中,當然這只是在我們需要JSON的時候才會顯得流光溢彩。

  首先不談Struts2的原生支持,我們自己寫一個ajax示例,使用異步請求,直接請求action動作:

  InfoAction.java

  1. packagecn.codeplus.action;importcom.opensymphony.xwork2.ActionSupport;  
  2. publicclassInfoAction extendsActionSupport {
  3. privatestaticfinallongserialVersionUID =1359090410097337654L;  
  4. publicString loadInfo() {returnSUCCESS;  
  5.   }  
  6.   } 

InfoAction僅僅是簡單的返回"success"。

  index.jsp

  1.   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
  2.   <html> 
  3.   <head>  <base href="<%=basePath%>"> 
  4.   <title>獲取</title> 
  5.   <script type="text/javascript"src="js/jquery.js"> 
  6.   </script> 
  7.   <script type="text/javascript"> 
  8.   functionloadInfo() {  
  9.   $("#info").load("loadInfo");  
  10.   }</script> 
  11.   </head> 
  12.   <body> 
  13.   <input type="button"value="獲取"id="btnGet"onclick="loadInfo()"/> 
  14.   <div id="info"></div> 
  15.   </body> 
  16.   </html> 

  index.jsp包含一個按鈕,點擊按鈕則會觸發異步請求事件。

  struts.xml

  1.   <package name="ajaxDemo"extends="struts-default"> 
  2.   <action name="loadInfo"class="cn.codeplus.action.InfoAction"method="loadInfo"> 
  3.   <result name="success">/info.jsp</result> 
  4.   </action> 
  5.   </package> 

  可見上面的異步請求的結果將會是加載info.jsp,info.jsp只是一個簡單網頁,不列出了。

  運行效果如下:

單擊獲取之后:

此時的頁面源代碼:

  <div>標簽中嵌套了<title>標簽,不符合規范,其實我們只要吧info.jsp寫的沒有<title>之類的標簽,就不會出現這種情況了。

  以上說的異步請求僅適用于請求單個文件,如果我們請求的是動態數據,并且數據需要以JSON格式返回,上面的方法將會顯得力不從心,這是struts2的原生支持就得出馬了。

  使用struts2的ajax,必須在項目中引入struts2-json-plugin-2.2.1.jar,在版本2.1.7+都一句綁定在struts2發行包里面了(之前的版本可以在這下載)。記住,要引入struts2-json-plugin-2.2.1.jar。

  這次我們使用另一個例子,模擬加載評論:

  dto對象,Comment.java

  1. packagecn.codeplus.po;  
  2. publicclassComment {  
  3. privatelongid;privateString nickname;
  4. privateString content;publiclonggetId() {returnid;  
  5.   }  
  6. publicvoidsetId(longid) {
  7. this.id =id;  
  8.   }  
  9. publicString getNickname() {returnnickname;  
  10.   }  
  11. publicvoidsetNickname(String nickname) {
  12. this.nickname =nickname;  
  13.  }  
  14. publicString getContent() {returncontent;  
  15.   }  
  16. publicvoidsetContent(String content) {
  17. this.content =content;  
  18.   }  
  19.   } 

  新的InfoAction.java 

  1. packagecn.codeplus.action;  
  2. importjava.util.ArrayList;importjava.util.List;  
  3. importcn.codeplus.po.Comment;  
  4. importcom.opensymphony.xwork2.ActionSupport;  
  5. publicclassInfoAction extendsActionSupport {  
  6. privatestaticfinallongserialVersionUID =1359090410097337654L;  
  7. privateList<Comment>comments =newArrayList<Comment>();//沒getter and setter方法的屬性不會被串行化到JSON  
  8.   @SuppressWarnings("unused")  
  9. privateString title;//!!!使用transient修飾的屬性也會被串行化到JSONprivatetransientString content;publicString loadInfo() {  
  10.   title="123木頭人";  
  11.   content="你是木頭人,哈哈。";  
  12.   loadComments();returnSUCCESS;  
  13.   }/*** 加載留言信息*/  
  14.   privatevoidloadComments() {  
  15.   Comment com1 =newComment();  
  16.   com1.setContent("很不錯嘛");  
  17.   com1.setId(1);  
  18.   com1.setNickname("納尼");  
  19.   Comment com2 =newComment();  
  20.   com2.setContent("喲西喲西");  
  21.   com2.setId(2);  
  22.   com2.setNickname("小強");  
  23.   comments.add(com1);  
  24.   comments.add(com2);  
  25.   }publicList<Comment>getComments() {returncomments;  
  26.   }publicvoidsetComments(List<Comment>comments) {this.comments =comments;  
  27.   }publicstaticlonggetSerialversionuid() {returnserialVersionUID;  
  28.   }publicString getContent() {returncontent;  
  29.   }publicvoidsetContent(String content) {this.content =content;  
  30.   }  
  31.   }  
  32.   index.jsp還是那個index.jsp。(*^__^*) 嘻嘻……  
  33.   struts.xml變化挺大:  
  34.   <package name="ajaxDemo"extends="json-default"> 
  35.   <action name="loadInfo"class="cn.codeplus.action.InfoAction"method="loadInfo"> 
  36.   <result name="success"type="json"></result> 
  37.   </action> 
  38.   </package> 

  在struts.xml中:

  首先,package extends由struts-default轉變為json-default,這是必須的,只用在json-default中才包含下面使用的result type為 json。

  然后就是result類型需顯示指明為json,result標簽內,無需指明視圖指向的界面。

  ***就是運行結果啦:

  點擊“獲取”按鈕之后:

  可見comments對象和content對象都被串行化到JSON數據了,不知道是不是版本的問題,很多資料都說使用transient修飾的屬性不會被串行化到JSON的。

  為了使content對象不被串行化到JSON,在不能舍棄其getter setter方法的時候,我們可以這樣在content的getter方法上面加上注解:@JSON(serialize=false)

  1.   ...  
  2.   @JSON(serialize=false)publicString getContent() {returncontent;  
  3.   }publicvoidsetContent(String content) {this.content =content;  
  4.   }  
  5.   ... 

  這時的結果如下:

  @JSON和json類型的result都還有很多可選項,無非就是串行化誰,不串行化誰,返回數據的MIME類型,讀者可以自行參考相關文檔。

  獲取到JSON數據了,下一步就是在前臺使用js處理JSON數據了,本人JS不精,喜歡使用jQuery解析,如有興趣,且聽下回分解jQuery解析JSON數據。

原文鏈接:http://www.cnblogs.com/codeplus/archive/2011/07/18/2109316.html

【編輯推薦】

  1. 理解JSON:3分鐘課程輕松搞定
  2. JSONP跨域原理和jQuery.getJSON用法
  3. 在PHP語言中使用JSON
  4. Jackson框架輕易轉換JSON
  5. Ajax和WEB服務數據格式:JSON JSONP
責任編輯:彭凡 來源: 博客園
相關推薦

2011-07-19 09:08:38

jQuery

2011-05-13 09:53:02

strutsAjax

2009-07-17 17:45:56

iBATIS Spri

2009-07-29 09:54:34

struts2和str

2017-07-11 09:42:22

漏洞

2009-06-05 10:43:29

struts2 checheckbox實例

2009-06-25 15:11:28

Struts2教程Struts2程序

2009-06-08 16:44:00

2009-02-04 10:51:07

2012-05-10 14:00:06

StrutsjsonJava

2009-07-14 17:10:44

struts2webwork

2009-06-04 09:20:19

struts2 if標使用

2009-06-01 15:44:18

2009-07-03 09:35:57

Struts2 JSP

2016-04-29 10:58:13

2009-06-04 08:34:24

Struts2配置struts.xml

2009-06-18 11:37:24

Struts2中ForJavaScript

2009-06-05 10:05:50

struts menustruts2

2011-04-28 09:52:04

Struts2

2010-05-10 15:06:37

Oracle stru
點贊
收藏

51CTO技術棧公眾號

亚洲涩涩在线| 成人在线观看视频app| 99精品国产九九国产精品| 依依成人精品视频| 欧美日韩在线一二三| 外国成人直播| 欧洲生活片亚洲生活在线观看| 日韩成人午夜影院| 亚洲欧洲中文字幕| 久久国产视频网站| 羞羞的视频在线看| 精品欧美一区二区三区| 激情内射人妻1区2区3区 | 91天堂在线视频| 日韩精品视频在线看| 精品国产一区二区在线观看| 可播放的18gay1069| 91在线播放网址| 日韩亚洲视频在线| 欧美在线网址| 国产不卡视频在线| 99国产精品久久一区二区三区| 亚洲第一精品久久忘忧草社区| 青青色在线视频| 亚洲免费在线观看| 成人一区二区三| av毛片久久久久**hd| 亚洲国产日韩综合一区| 欧美午夜视频| 国产精品一区二区女厕厕 | 欧美无乱码久久久免费午夜一区| 无码人妻精品一区二区三区66| 国模无码大尺度一区二区三区| 久久草视频在线看| 韩国一区二区三区在线观看| 国产免费一区视频观看免费 | 浮妇高潮喷白浆视频| 韩国女主播成人在线观看| 色噜噜色狠狠狠狠狠综合色一| 欧美久色视频| 91在线精品观看| 亚洲大胆av| 欧美深深色噜噜狠狠yyy| 亚洲综合国产| 日韩精品欧美一区二区三区| 日韩电影免费在线看| 亚洲一卡二卡三卡| 国产乱人伦精品一区二区在线观看| 亚洲国产一区二区三区在线播| 久久中文字幕一区二区三区| 日本最新一区二区三区视频观看| 久久久噜噜噜| 中文字幕在线亚洲精品 | 91精品久久久久久久久久久| 欧美精品尤物在线观看| 国产精品香蕉在线观看| 婷婷中文字幕一区| 99精彩视频| 热久久一区二区| 黄色片免费在线观看视频| 成人白浆超碰人人人人| 成年人在线看片| 亚洲欧美一区二区不卡| 天堂资源中文在线| 日韩一级二级三级| 久久精品黄色| 国产91色在线播放| 亚洲区国产区| 99热都是精品| 国产精品婷婷午夜在线观看| 资源视频在线播放免费| 欧美日本视频在线| 欧美电影免费观看网站| 久99九色视频在线观看| 欧美精选一区二区三区| 欧美婷婷久久| 国产视频一区二区在线| 新欧美整片sss第一页| 精品国产亚洲一区二区三区在线观看| 成人国产一区| 国产美女高潮久久白浆| 久久精品日韩欧美| 日韩精品一区中文字幕| 黑人巨大精品欧美一区二区| 欧美xxxx做受欧美88bbw| 欧美疯狂性受xxxxx另类| 在线看片不卡| 国产美女主播在线| 精品动漫一区二区| 亚洲女同av| 国产精品青青在线观看爽香蕉| 久久久久久9| 成人做爰高清视频网站| 日韩欧美综合一区| 看全色黄大色大片免费久久久| 狠狠色综合网站久久久久久久| av一区二区三区在线| 未来日记在线观看| xxx一区二区| 影音先锋亚洲精品| 五月天激情视频在线观看| 欧美老女人第四色| 成人动态视频| 一级一片免费播放| 性做久久久久久免费观看欧美| 欧美7777| 久久www免费人成精品| 亚洲欧美怡红院| 新片速递亚洲合集欧美合集| 91aaaa| 国产精品国产三级国产| 国产福利在线免费观看| 国产精品视频久| 2021中文字幕一区亚洲| 日韩美女网站| 国产精品精品国产| 不卡一区在线观看| 先锋成人av| 999在线免费观看视频| 国产精品色哟哟| 范冰冰一级做a爰片久久毛片| av在线不卡一区| 亚洲欧美日韩成人高清在线一区| 亚洲私拍视频| 久久福利电影| 懂色av一区二区三区| 精品综合久久88少妇激情| 特色特色大片在线| 日韩午夜精品电影| 精品动漫一区| 激情视频免费观看在线| 色综合天天狠天天透天天伊人| 国内精品免费在线观看| 69视频在线| 成人黄色免费片| 国产精品麻豆一区二区| 粉嫩91精品久久久久久久99蜜桃| 欧美连裤袜在线视频| 色婷婷亚洲综合| 日韩黄色大片| 国产一级黄色电影| 韩国视频理论视频久久| 国产69精品久久久久毛片| 超碰在线网站| 亚洲国产一区二区在线| 欧美一区二区在线不卡| 亚洲一区 二区 三区| 在线视频2区| 国产欧美日韩精品丝袜高跟鞋| 亚洲日本一区二区三区| 亚洲ab电影| 可播放的18gay1069| 欧美一级高清免费| 国产精品毛片久久久久久久| 2021年精品国产福利在线| 国产福利视频在线播放| 日韩一区二区三区在线播放| 精品中文字幕一区二区小辣椒| 污视频免费在线观看| 欧美日韩在线一区二区三区| 欧美一区二区播放| 蜜臀av一区二区在线免费观看| 免费av不卡在线观看| 午夜视频久久久| 亚洲级视频在线观看免费1级| 久久黄色级2电影| 亚洲综合在线电影| 国产精品亚洲αv天堂无码| 欧美国产日本高清在线| 1区2区3区国产精品| 大胆日韩av| 成年人在线观看视频| 久久综合一区二区三区| 亚洲成avwww人| 高清不卡一二三区| 超碰成人在线观看| 中文字幕在线永久在线视频| 亚洲综合av影视| 欧美变态口味重另类| 国产精品亚洲一区二区三区妖精| 欧美性aaa| 国产网站av| 亚洲自拍偷拍色片视频| 日韩你懂的在线观看| 成人午夜精品在线| 亚洲成人一品| 国产精品一卡二卡三卡| 久久久性生活视频| 青草成人免费视频| 欧美浪妇xxxx高跟鞋交| 成人精品亚洲人成在线| 精品国产一区探花在线观看| а√天堂中文在线资源bt在线| 影音先锋欧美资源| 亚洲2020天天堂在线观看| 欧美在线制服丝袜| 99久久久精品| 狠狠爱www人成狠狠爱综合网 | 国产精品天天摸av网| 中文字幕亚洲精品乱码|