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

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
初析Struts2中的Ajax開發(fā)實(shí)例

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

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

  首先不談Struts2的原生支持,我們自己寫一個(gè)ajax示例,使用異步請(qǐng)求,直接請(qǐng)求action動(dòng)作:

  InfoAction.java

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

InfoAction僅僅是簡(jiǎn)單的返回"success"。

  index.jsp

 
 
 
 
  1.    
  2.    
  3.     "> 
  4.   獲取 
  5.    
  6.    
  7.    
  8.    
  9.    
  10.   
 
  •    
  •    
  •   index.jsp包含一個(gè)按鈕,點(diǎn)擊按鈕則會(huì)觸發(fā)異步請(qǐng)求事件。

      struts.xml

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

      可見上面的異步請(qǐng)求的結(jié)果將會(huì)是加載info.jsp,info.jsp只是一個(gè)簡(jiǎn)單網(wǎng)頁,不列出了。

      運(yùn)行效果如下:

    單擊獲取之后:

    此時(shí)的頁面源代碼:

      

    標(biāo)簽中嵌套了標(biāo)簽,不符合規(guī)范,其實(shí)我們只要吧info.jsp寫的沒有<title>之類的標(biāo)簽,就不會(huì)出現(xiàn)這種情況了。</p><p>  以上說的異步請(qǐng)求僅適用于請(qǐng)求單個(gè)文件,如果我們請(qǐng)求的是動(dòng)態(tài)數(shù)據(jù),并且數(shù)據(jù)需要以JSON格式返回,上面的方法將會(huì)顯得力不從心,這是struts2的原生支持就得出馬了。</p><p>  使用struts2的ajax,必須在項(xiàng)目中引入struts2-json-plugin-2.2.1.jar,在版本2.1.7+都一句綁定在struts2發(fā)行包里面了(之前的版本可以在這下載)。記住,要引入struts2-json-plugin-2.2.1.jar。</p><p>  這次我們使用另一個(gè)例子,模擬加載評(píng)論:</p><p>  dto對(duì)象,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方法的屬性不會(huì)被串行化到JSON  </li> <li>  @SuppressWarnings("unused")  </li> <li>privateString title;//!??!使用transient修飾的屬性也會(huì)被串行化到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("很不錯(cuò)嘛");  </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("小強(qiáng)");  </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還是那個(gè)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轉(zhuǎn)變?yōu)閖son-default,這是必須的,只用在json-default中才包含下面使用的result type為 json。</p><p>  然后就是result類型需顯示指明為json,result標(biāo)簽內(nèi),無需指明視圖指向的界面。</p><p>  ***就是運(yùn)行結(jié)果啦:</p><p>  點(diǎn)擊“獲取”按鈕之后:</p></p><p>  可見comments對(duì)象和content對(duì)象都被串行化到JSON數(shù)據(jù)了,不知道是不是版本的問題,很多資料都說使用transient修飾的屬性不會(huì)被串行化到JSON的。</p><p>  為了使content對(duì)象不被串行化到JSON,在不能舍棄其getter setter方法的時(shí)候,我們可以這樣在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>  這時(shí)的結(jié)果如下:</p></p><p>  @JSON和json類型的result都還有很多可選項(xiàng),無非就是串行化誰,不串行化誰,返回?cái)?shù)據(jù)的MIME類型,讀者可以自行參考相關(guān)文檔。</p><p>  獲取到JSON數(shù)據(jù)了,下一步就是在前臺(tái)使用js處理JSON數(shù)據(jù)了,本人JS不精,喜歡使用jQuery解析,如有興趣,且聽下回分解jQuery解析JSON數(shù)據(jù)。</p> <br> 網(wǎng)頁題目:初析Struts2中的Ajax開發(fā)實(shí)例 <br> 分享路徑:<a href="http://m.5511xx.com/article/ccdchjg.html">http://m.5511xx.com/article/ccdchjg.html</a> </div> <div id="cdhbssr" class="hot_new"> <div id="p4jj4a4" class="page_title clearfix"> <h3>其他資訊</h3> </div> <div id="9rkjsiy" class="news_list clearfix"> <ul> <li> <a href="/article/cdcsjdh.html">如何學(xué)會(huì)分析數(shù)據(jù)的方法</a> </li><li> <a href="/article/cdcsjed.html">Linux運(yùn)維實(shí)踐:精彩筆記(linux運(yùn)維筆記)</a> </li><li> <a href="/article/cdcsjcc.html">圖數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)圖:探索新一代數(shù)據(jù)管理方式(圖數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)圖)</a> </li><li> <a href="/article/cdcsjid.html">十一小長(zhǎng)假攻略,游極用VR給你不一樣的樂趣</a> </li><li> <a href="/article/cdcsjeh.html">服務(wù)器中怎么設(shè)置ftp賬戶密碼?(怎么設(shè)置ftp賬號(hào)密碼)</a> </li> </ul> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- 底部信息 --> <div id="lx6monk" class="footer wow fadeInUp"> <div id="umdts4q" class="rowFluid"> <div id="2jz34vu" class="span12"> <div id="3cbaigq" class="container"> <div id="1wetec8" class="footer_content"> <div id="d722utj" class="span4 col-xm-12"> <div id="2pxv4cb" class="footer_list"> <div id="kltb8gw" class="span6"> <div id="nh6xemt" class="bottom_logo"><img src="/Public/Home/images/ewm.jpg" alt="微信服務(wù)號(hào)二維碼" /></div> </div> <div id="zsr9wvc" class="span6 col-xm-12"> <div id="zj3wwdt" class="quick_navigation"> <div id="w9muskr" class="quick_navigation_title">快速導(dǎo)航</div> <ul> <li><a title="康明斯發(fā)電機(jī)銷售" target="_blank">康明斯發(fā)電機(jī)銷售</a></li><li><a title="海口廚房設(shè)備" target="_blank">??趶N房設(shè)備</a></li><li><a title="成都維修柴油發(fā)電機(jī)" target="_blank">成都維修柴油發(fā)電機(jī)</a></li><li><a title="汽車配件銷售公司" target="_blank">汽車配件銷售公司</a></li><li><a title="實(shí)驗(yàn)室超純水機(jī)" target="_blank">實(shí)驗(yàn)室超純水機(jī)</a></li><li><a title="zzfdjwx.com" target="_blank">zzfdjwx.com</a></li><li><a title="成都全屋定制" target="_blank">成都全屋定制</a></li><li><a title="聯(lián)通服務(wù)器托管" target="_blank">聯(lián)通服務(wù)器托管</a></li><li><a title="成都柴油發(fā)電機(jī)公司" target="_blank">成都柴油發(fā)電機(jī)公司</a></li><li><a title="中國(guó)(西部)云計(jì)算中心" target="_blank">中國(guó)(西部)云計(jì)算中心</a></li><li><a title="??趯櫸镉闷饭?yīng)" target="_blank">??趯櫸镉闷饭?yīng)</a></li> </ul> </div> </div> </div> </div> <div id="3vp77sa" class="span4 col-xm-6 col-xs-12"> <div id="vwdtrq1" class="footer_list"> <div id="7gr4gqo" class="footer_link"> <div id="8po9m9y" class="footer_link_title">友情鏈接</div> <ul id="frientLinks"> <a title="網(wǎng)站制作" target="_blank">網(wǎng)站制作</a> <a title="網(wǎng)站建設(shè)" target="_blank">網(wǎng)站建設(shè)</a> <a title="成都網(wǎng)絡(luò)推廣" target="_blank">網(wǎng)絡(luò)推廣</a> <a title="成都網(wǎng)站推廣" target="_blank">網(wǎng)站推廣</a> <a title="成都微信小程序開發(fā)" target="_blank">小程序開發(fā)</a> <a title="創(chuàng)新互聯(lián)網(wǎng)站欄目導(dǎo)航" target="_blank">網(wǎng)站導(dǎo)航</a> </ul> <div id="s4fuaqy" class="footer_link_title">網(wǎng)站建設(shè)</div> <ul id="frientLinks"> <li><a href="/">四川平武建站</a></li> <li><a title="創(chuàng)新互聯(lián)網(wǎng)站欄目導(dǎo)航" target="_blank">網(wǎng)站導(dǎo)航</a></li> </ul> </div> </div> </div> <div id="t9o1vl8" class="span4 col-xm-6 col-xs-12"> <div id="nfvkjrz" class="footer_list"> <div id="wqgvu3r" class="footer_cotact"> <div id="tdk1ix3" class="footer_cotact_title">聯(lián)系方式</div> <ul> <li><span id="dvkjarr" class="footer_cotact_type">企業(yè):</span><span id="iaza3hp" class="footer_cotact_content">四川綿陽平武網(wǎng)站建設(shè)工作室</span></li> <li><span id="btkjrqw" class="footer_cotact_type">地址:</span><span id="hzyge8t" class="footer_cotact_content">成都市青羊區(qū)太升南路288號(hào)</span></li> <li><span id="asiqxow" class="footer_cotact_type">電話:</span><span id="rllsix3" class="footer_cotact_content"><a href="tel:18980820575" class="call">18980820575</a></span></li> <li><span id="qrcra3z" class="footer_cotact_type">網(wǎng)址:</span><span id="t47ektj" class="footer_cotact_content"><a href="/" title="四川平武網(wǎng)站建設(shè)">m.5511xx.com</a></span></li> </ul> </div> </div> </div> </div> </div> <div id="y9tj7vz" class="copyright"> <p>公司名稱:四川綿陽平武網(wǎng)站建設(shè)工作室 聯(lián)系電話:18980820575</p> <p><a target="_blank" rel="nofollow">網(wǎng)站備案號(hào):蜀ICP備2024061352號(hào)-3</a></p> <p>四川平武建站 四川平武網(wǎng)站建設(shè) 四川平武網(wǎng)站設(shè)計(jì) 四川平武網(wǎng)站制作 <a target="_blank">成都做網(wǎng)站</a></p> </div> </div> </div> </div> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.5511xx.com/" title="日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区">日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区</a> <div class="friend-links"> </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="af8ap" class="pl_css_ganrao" style="display: none;"><legend id="af8ap"></legend><i id="af8ap"><ins id="af8ap"><pre id="af8ap"></pre></ins></i><th id="af8ap"><em id="af8ap"><blockquote id="af8ap"></blockquote></em></th><dl id="af8ap"></dl><pre id="af8ap"></pre><menu id="af8ap"></menu><small id="af8ap"></small><pre id="af8ap"><tr id="af8ap"><style id="af8ap"></style></tr></pre><s id="af8ap"></s><span id="af8ap"></span><sub id="af8ap"></sub><i id="af8ap"></i><ruby id="af8ap"></ruby><strike id="af8ap"></strike><sup id="af8ap"></sup><del id="af8ap"></del><s id="af8ap"></s><tr id="af8ap"><style id="af8ap"><ul id="af8ap"></ul></style></tr><s id="af8ap"></s><source id="af8ap"><tr id="af8ap"><pre id="af8ap"></pre></tr></source><rp id="af8ap"></rp><strike id="af8ap"><option id="af8ap"><samp id="af8ap"></samp></option></strike><pre id="af8ap"></pre><acronym id="af8ap"></acronym><th id="af8ap"></th><wbr id="af8ap"><abbr id="af8ap"><sup id="af8ap"></sup></abbr></wbr><legend id="af8ap"></legend><wbr id="af8ap"><style id="af8ap"><sup id="af8ap"></sup></style></wbr><del id="af8ap"></del><th id="af8ap"></th><s id="af8ap"></s><option id="af8ap"><acronym id="af8ap"><th id="af8ap"></th></acronym></option><tr id="af8ap"></tr><acronym id="af8ap"></acronym><th id="af8ap"><nav id="af8ap"><blockquote id="af8ap"></blockquote></nav></th><div id="af8ap"></div><small id="af8ap"><tr id="af8ap"><s id="af8ap"></s></tr></small><blockquote id="af8ap"></blockquote><wbr id="af8ap"><bdo id="af8ap"><sup id="af8ap"></sup></bdo></wbr><ul id="af8ap"><tbody id="af8ap"><i id="af8ap"></i></tbody></ul><blockquote id="af8ap"><strike id="af8ap"><option id="af8ap"></option></strike></blockquote><pre id="af8ap"></pre><sub id="af8ap"></sub><span id="af8ap"><object id="af8ap"><del id="af8ap"></del></object></span><ul id="af8ap"></ul><dd id="af8ap"><cite id="af8ap"><pre id="af8ap"></pre></cite></dd><small id="af8ap"><tr id="af8ap"><s id="af8ap"></s></tr></small><b id="af8ap"></b><strike id="af8ap"></strike><strike id="af8ap"></strike></div> </html>