日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
初析Struts2中的Ajax開發(fā)實例

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

創(chuàng)新互聯公司專業(yè)為企業(yè)提供梁山網站建設、梁山做網站、梁山網站設計、梁山網站制作等企業(yè)網站建設、網頁設計與制作、梁山企業(yè)網站模板建站服務,十余年梁山做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

  首先不談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.    
  2.    
  3.     "> 
  4.   獲取 
  5.    
  6.    
  7.    
  8.    
  9.    
  10.   
 
  •    
  •    
  •   index.jsp包含一個按鈕,點擊按鈕則會觸發(fā)異步請求事件。

      struts.xml

     
     
     
     
    1.    
    2.    
    3.   /info.jsp 
    4.    
    5.    

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

      運行效果如下:

    單擊獲取之后:

    此時的頁面源代碼:

      

    標簽中嵌套了標簽,不符合規(guī)范,其實我們只要吧info.jsp寫的沒有<title>之類的標簽,就不會出現這種情況了。</p><p>  以上說的異步請求僅適用于請求單個文件,如果我們請求的是動態(tài)數據,并且數據需要以JSON格式返回,上面的方法將會顯得力不從心,這是struts2的原生支持就得出馬了。</p><p>  使用struts2的ajax,必須在項目中引入struts2-json-plugin-2.2.1.jar,在版本2.1.7+都一句綁定在struts2發(fā)行包里面了(之前的版本可以在這下載)。記住,要引入struts2-json-plugin-2.2.1.jar。</p><p>  這次我們使用另一個例子,模擬加載評論:</p><p>  dto對象,Comment.java</p><pre> <ol> <li>packagecn.codeplus.po;  </li> <li>publicclassComment {  </li> <li>privatelongid;privateString nickname;</li> <li>privateString content;publiclonggetId() {returnid;  </li> <li>  }  </li> <li>publicvoidsetId(longid) {</li> <li>this.id =id;  </li> <li>  }  </li> <li>publicString getNickname() {returnnickname;  </li> <li>  }  </li> <li>publicvoidsetNickname(String nickname) {</li> <li>this.nickname =nickname;  </li> <li> }  </li> <li>publicString getContent() {returncontent;  </li> <li>  }  </li> <li>publicvoidsetContent(String content) {</li> <li>this.content =content;  </li> <li>  }  </li> <li>  } </li> </ol></pre><p>  新的InfoAction.java </p><pre> <ol> <li>packagecn.codeplus.action;  </li> <li>importjava.util.ArrayList;importjava.util.List;  </li> <li>importcn.codeplus.po.Comment;  </li> <li>importcom.opensymphony.xwork2.ActionSupport;  </li> <li>publicclassInfoAction extendsActionSupport {  </li> <li>privatestaticfinallongserialVersionUID =1359090410097337654L;  </li> <li>privateList<Comment>comments =newArrayList<Comment>();//沒getter and setter方法的屬性不會被串行化到JSON  </li> <li>  @SuppressWarnings("unused")  </li> <li>privateString title;//?。?!使用transient修飾的屬性也會被串行化到JSONprivatetransientString content;publicString loadInfo() {  </li> <li>  title="123木頭人";  </li> <li>  content="你是木頭人,哈哈。";  </li> <li>  loadComments();returnSUCCESS;  </li> <li>  }/*** 加載留言信息*/  </li> <li>  privatevoidloadComments() {  </li> <li>  Comment com1 =newComment();  </li> <li>  com1.setContent("很不錯嘛");  </li> <li>  com1.setId(1);  </li> <li>  com1.setNickname("納尼");  </li> <li>  Comment com2 =newComment();  </li> <li>  com2.setContent("喲西喲西");  </li> <li>  com2.setId(2);  </li> <li>  com2.setNickname("小強");  </li> <li>  comments.add(com1);  </li> <li>  comments.add(com2);  </li> <li>  }publicList<Comment>getComments() {returncomments;  </li> <li>  }publicvoidsetComments(List<Comment>comments) {this.comments =comments;  </li> <li>  }publicstaticlonggetSerialversionuid() {returnserialVersionUID;  </li> <li>  }publicString getContent() {returncontent;  </li> <li>  }publicvoidsetContent(String content) {this.content =content;  </li> <li>  }  </li> <li>  }  </li> <li>  index.jsp還是那個index.jsp。(*^__^*) 嘻嘻……  </li> <li>  struts.xml變化挺大:  </li> <li>  <package name="ajaxDemo"extends="json-default"> </li> <li>  <action name="loadInfo"class="cn.codeplus.action.InfoAction"method="loadInfo"> </li> <li>  <result name="success"type="json"></result> </li> <li>  </action> </li> <li>  </package> </li> </ol></pre><p>  在struts.xml中:</p><p>  首先,package extends由struts-default轉變?yōu)閖son-default,這是必須的,只用在json-default中才包含下面使用的result type為 json。</p><p>  然后就是result類型需顯示指明為json,result標簽內,無需指明視圖指向的界面。</p><p>  ***就是運行結果啦:</p><p>  點擊“獲取”按鈕之后:</p></p><p>  可見comments對象和content對象都被串行化到JSON數據了,不知道是不是版本的問題,很多資料都說使用transient修飾的屬性不會被串行化到JSON的。</p><p>  為了使content對象不被串行化到JSON,在不能舍棄其getter setter方法的時候,我們可以這樣在content的getter方法上面加上注解:@JSON(serialize=false)</p><pre> <ol> <li>  ...  </li> <li>  @JSON(serialize=false)publicString getContent() {returncontent;  </li> <li>  }publicvoidsetContent(String content) {this.content =content;  </li> <li>  }  </li> <li>  ... </li> </ol></pre><p>  這時的結果如下:</p></p><p>  @JSON和json類型的result都還有很多可選項,無非就是串行化誰,不串行化誰,返回數據的MIME類型,讀者可以自行參考相關文檔。</p><p>  獲取到JSON數據了,下一步就是在前臺使用js處理JSON數據了,本人JS不精,喜歡使用jQuery解析,如有興趣,且聽下回分解jQuery解析JSON數據。</p> <br> 標題名稱:初析Struts2中的Ajax開發(fā)實例 <br> 分享地址:<a href="http://www.5511xx.com/article/ccdchjg.html">http://www.5511xx.com/article/ccdchjg.html</a> </div> <div id="2bmgsin" class="hot_new"> <div id="sht4w4q" class="page_title clearfix"> <h3>其他資訊</h3> </div> <div id="he7octg" class="news_list clearfix"> <ul> <li> <a href="/article/dhoiscd.html">windows安裝hashcat</a> </li><li> <a href="/article/dhoicpp.html">Linux終端的加速鍵——快速提升效率(linux終端快捷鍵)</a> </li><li> <a href="/article/dhoisoe.html">ps如何制作路徑</a> </li><li> <a href="/article/dhoicps.html">這個APP能把操作視頻自動轉換成AR教程,手把手教你修家具</a> </li><li> <a href="/article/dhoisop.html">創(chuàng)新互聯Python教程:python切片中內存的注意事項</a> </li> </ul> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- 底部信息 --> <div id="ihtddv3" class="footer wow fadeInUp"> <div id="eaehcm2" class="rowFluid"> <div id="k7ngcsg" class="span12"> <div id="vavrmtk" class="container"> <div id="wbgbf2c" class="footer_content"> <div id="vbepkly" class="span4 col-xm-12"> <div id="7s4s8z3" class="footer_list"> <div id="4bfron9" class="span6"> <div id="g9snl7y" class="bottom_logo"><img src="/Public/Home/images/ewm.jpg" alt="微信服務號二維碼" /></div> </div> <div id="9p8xbaf" class="span6 col-xm-12"> <div id="y48z3yh" class="quick_navigation"> <div id="9reqlgb" class="quick_navigation_title">快速導航</div> <ul> <li><a title="防護網廠" target="_blank">防護網廠</a></li><li><a title="成都發(fā)電機維保公司" target="_blank">成都發(fā)電機維保公司</a></li><li><a title="h5頁面制作" target="_blank">h5頁面制作</a></li><li><a title="廣漢柴油發(fā)電機維修" target="_blank">廣漢柴油發(fā)電機維修</a></li><li><a title="成都棕樹電信機房" target="_blank">成都棕樹電信機房</a></li><li><a title="成都IDC機房托管" target="_blank">成都IDC機房托管</a></li><li><a href="http://chengdu.cdcxhl.cn/weihu/ " title="成都網站維護" target="_blank">成都網站維護</a></li><li><a title="高新區(qū)商標專利" target="_blank">高新區(qū)商標專利</a></li><li><a title="網站推廣營銷" target="_blank">網站推廣營銷</a></li><li><a title="yzsxq.com" target="_blank">yzsxq.com</a></li><li><a title="成都橡塑保溫板" target="_blank">成都橡塑保溫板</a></li> </ul> </div> </div> </div> </div> <div id="w9fr98u" class="span4 col-xm-6 col-xs-12"> <div id="2oi9da8" class="footer_list"> <div id="v4cxteh" class="footer_link"> <div id="px4gjru" class="footer_link_title">友情鏈接</div> <ul id="frientLinks"> <a title="網站制作" target="_blank">網站制作</a> <a title="網站建設" target="_blank">網站建設</a> <a title="成都網絡推廣" target="_blank">網絡推廣</a> <a title="成都網站推廣" target="_blank">網站推廣</a> <a title="成都微信小程序開發(fā)" target="_blank">小程序開發(fā)</a> <a title="創(chuàng)新互聯網站欄目導航" target="_blank">網站導航</a> </ul> <div id="vanqpp9" class="footer_link_title">網站建設</div> <ul id="frientLinks"> <li><a href="/">四川平武建站</a></li> <li><a title="創(chuàng)新互聯網站欄目導航" target="_blank">網站導航</a></li> </ul> </div> </div> </div> <div id="esxlfvz" class="span4 col-xm-6 col-xs-12"> <div id="fcfqdt9" class="footer_list"> <div id="awi38y4" class="footer_cotact"> <div id="pchkf8a" class="footer_cotact_title">聯系方式</div> <ul> <li><span id="uq919kh" class="footer_cotact_type">企業(yè):</span><span id="vjavjzd" class="footer_cotact_content">四川綿陽平武網站建設工作室</span></li> <li><span id="2cgkfmz" class="footer_cotact_type">地址:</span><span id="tz83yea" class="footer_cotact_content">成都市青羊區(qū)太升南路288號</span></li> <li><span id="spsfj78" class="footer_cotact_type">電話:</span><span id="tybnrz3" class="footer_cotact_content"><a href="tel:18980820575" class="call">18980820575</a></span></li> <li><span id="aym8661" class="footer_cotact_type">網址:</span><span id="fv3t6t4" class="footer_cotact_content"><a href="/" title="四川平武網站建設">www.5511xx.com</a></span></li> </ul> </div> </div> </div> </div> </div> <div id="4f4xdkf" class="copyright"> <p>公司名稱:四川綿陽平武網站建設工作室 聯系電話:18980820575</p> <p><a target="_blank" rel="nofollow">網站備案號:蜀ICP備2024061352號-3</a></p> <p>四川平武建站 四川平武網站建設 四川平武網站設計 四川平武網站制作 <a target="_blank">成都做網站</a></p> </div> </div> </div> </div> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.5511xx.com/" title="日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区">日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区</a> <div class="friend-links"> <a href="http://www.9iban.com">久久精品无码av|一级中文无码免费观看|日韩欧美黄片手机版|人妻激情视频成人无码aaa|美女一级黄色毛片|国产aa黄片亚洲破处片|黄色A极大片特级a黄片|综合精品一区二区三区四区在线|国产精品不卡无码av在线播放|超碰亚洲在线日韩肏屄</a> <a href="http://www.datumvisio.com">91AV乱伦强奸|国产理伦电影尤物导航|在线观看高清无码黄片|特黄色电影特级毛片|亚洲精品av一区二区三区|91AV无码免费|久久嫩草国产亚洲无码网站|国产91极度丝袜|青青草在线视频免费观看|黄色av网五月天</a> <a href="http://www.jiangrensw.com">在线视频一本一区|91在线免费视频网站|国产视频在线观看91|A片在线观看视频直接观看|在线免费A片黄色电影|美女视频图片永久免费观看|青青色在线观看视频网站|日本欧美视频在线看v片成人|色情性黄?片免费视频中国免费的|国产一线二线三黄色片</a> </div> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="3ctb4" class="pl_css_ganrao" style="display: none;"><big id="3ctb4"><input id="3ctb4"></input></big><optgroup id="3ctb4"><xmp id="3ctb4"></xmp></optgroup><strong id="3ctb4"><font id="3ctb4"></font></strong><td id="3ctb4"></td><address id="3ctb4"></address><th id="3ctb4"></th><menuitem id="3ctb4"><rt id="3ctb4"></rt></menuitem><menuitem id="3ctb4"></menuitem><ol id="3ctb4"></ol><strong id="3ctb4"></strong><small id="3ctb4"></small><strong id="3ctb4"></strong><listing id="3ctb4"><address id="3ctb4"></address></listing><legend id="3ctb4"><output id="3ctb4"></output></legend><td id="3ctb4"><p id="3ctb4"></p></td><center id="3ctb4"></center><form id="3ctb4"><strong id="3ctb4"></strong></form><address id="3ctb4"><cite id="3ctb4"></cite></address><delect id="3ctb4"></delect><sup id="3ctb4"></sup><output id="3ctb4"></output><mark id="3ctb4"></mark><optgroup id="3ctb4"><progress id="3ctb4"></progress></optgroup><thead id="3ctb4"></thead><optgroup id="3ctb4"><progress id="3ctb4"></progress></optgroup><legend id="3ctb4"><output id="3ctb4"></output></legend><acronym id="3ctb4"></acronym><form id="3ctb4"><strong id="3ctb4"></strong></form><mark id="3ctb4"></mark><nav id="3ctb4"><center id="3ctb4"></center></nav><td id="3ctb4"></td><small id="3ctb4"></small><listing id="3ctb4"></listing><address id="3ctb4"><cite id="3ctb4"></cite></address><pre id="3ctb4"><legend id="3ctb4"></legend></pre><p id="3ctb4"><ruby id="3ctb4"></ruby></p><progress id="3ctb4"></progress><address id="3ctb4"><cite id="3ctb4"></cite></address><big id="3ctb4"><dl id="3ctb4"></dl></big><tfoot id="3ctb4"></tfoot><tfoot id="3ctb4"><ol id="3ctb4"></ol></tfoot><cite id="3ctb4"></cite><cite id="3ctb4"><nobr id="3ctb4"></nobr></cite><cite id="3ctb4"><nobr id="3ctb4"></nobr></cite><rt id="3ctb4"></rt><cite id="3ctb4"></cite><dfn id="3ctb4"><p id="3ctb4"></p></dfn><progress id="3ctb4"><object id="3ctb4"></object></progress><legend id="3ctb4"><nav id="3ctb4"></nav></legend><ruby id="3ctb4"></ruby></div> </html>