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

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

新聞中心

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

  Web2.0的隨波逐流,Ajax那是大放異彩,Struts2框架自己整合了對(duì)Ajax的原生支持(struts 2.1.7+,之前的版本可以通過(guò)插件實(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)頁(yè)設(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.    

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

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

    單擊獲取之后:

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

      

    標(biāo)簽中嵌套了標(biāo)簽,不符合規(guī)范,其實(shí)我們只要吧info.jsp寫的沒(méi)有<title>之類的標(biāo)簽,就不會(huì)出現(xiàn)這種情況了。</p><p>  以上說(shuō)的異步請(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>();//沒(méi)getter and setter方法的屬性不會(huì)被串行化到JSON  </li> <li>  @SuppressWarnings("unused")  </li> <li>privateString title;//?。。∈褂胻ransient修飾的屬性也會(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),無(wú)需指明視圖指向的界面。</p><p>  ***就是運(yùn)行結(jié)果啦:</p><p>  點(diǎn)擊“獲取”按鈕之后:</p></p><p>  可見(jiàn)comments對(duì)象和content對(duì)象都被串行化到JSON數(shù)據(jù)了,不知道是不是版本的問(wèn)題,很多資料都說(shuō)使用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),無(wú)非就是串行化誰(shuí),不串行化誰(shuí),返回?cái)?shù)據(jù)的MIME類型,讀者可以自行參考相關(guān)文檔。</p><p>  獲取到JSON數(shù)據(jù)了,下一步就是在前臺(tái)使用js處理JSON數(shù)據(jù)了,本人JS不精,喜歡使用jQuery解析,如有興趣,且聽(tīng)下回分解jQuery解析JSON數(shù)據(jù)。</p> <br> 文章題目:初析Struts2中的Ajax開發(fā)實(shí)例 <br> 文章出自:<a href="http://www.5511xx.com/article/ccdchjg.html">http://www.5511xx.com/article/ccdchjg.html</a> </div> <div id="iu8bvc2" class="hot_new"> <div id="dv9t1k6" class="page_title clearfix"> <h3>其他資訊</h3> </div> <div id="sta9dcb" class="news_list clearfix"> <ul> <li> <a href="/article/djhiegi.html">centos6.5配置ip地址(如何使每個(gè)虛擬機(jī)窗口的ip不一樣)</a> </li><li> <a href="/article/djhiejo.html">centos7修改系統(tǒng)語(yǔ)言為簡(jiǎn)體中文的實(shí)現(xiàn)</a> </li><li> <a href="/article/djhieig.html">如何實(shí)現(xiàn)小程序的數(shù)據(jù)存儲(chǔ)與管理</a> </li><li> <a href="/article/djhieid.html">矢量圖怎么畫?(速度矢量圖怎么畫)</a> </li><li> <a href="/article/djhieio.html">mobalytics國(guó)內(nèi)能用嗎?(在國(guó)內(nèi)可以裝國(guó)外服務(wù)器)</a> </li> </ul> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- 底部信息 --> <div id="dp7a1l1" class="footer wow fadeInUp"> <div id="phyf9uv" class="rowFluid"> <div id="mx4lyoe" class="span12"> <div id="nx7kigo" class="container"> <div id="qrqxf42" class="footer_content"> <div id="rcbcipp" class="span4 col-xm-12"> <div id="akshfeu" class="footer_list"> <div id="hqyg8s0" class="span6"> <div id="ke7zcjq" class="bottom_logo"><img src="/Public/Home/images/ewm.jpg" alt="微信服務(wù)號(hào)二維碼" /></div> </div> <div id="j7udkrq" class="span6 col-xm-12"> <div id="atk7l65" class="quick_navigation"> <div id="fxvf7sj" class="quick_navigation_title">快速導(dǎo)航</div> <ul> <li><a title="背發(fā)光字" target="_blank">背發(fā)光字</a></li><li><a title="球類體育用品" target="_blank">球類體育用品</a></li><li><a title="成都廣告扇定制" target="_blank">成都廣告扇定制</a></li><li><a title="綿陽(yáng)機(jī)房托管" target="_blank">綿陽(yáng)機(jī)房托管</a></li><li><a title="app開發(fā)" target="_blank">app開發(fā)</a></li><li><a title="青白江柴油發(fā)電機(jī)" target="_blank">青白江柴油發(fā)電機(jī)</a></li><li><a title="seo關(guān)鍵詞優(yōu)化" target="_blank">seo關(guān)鍵詞優(yōu)化</a></li><li><a title="大悟縣戶外帳篷" target="_blank">大悟縣戶外帳篷</a></li><li><a title="成都發(fā)電機(jī)保養(yǎng)公司" target="_blank">成都發(fā)電機(jī)保養(yǎng)公司</a></li><li><a title="成都汽油發(fā)電機(jī)" target="_blank">成都汽油發(fā)電機(jī)</a></li><li><a title="成都網(wǎng)站續(xù)費(fèi)公司" target="_blank">成都網(wǎng)站續(xù)費(fèi)公司</a></li> </ul> </div> </div> </div> </div> <div id="rddk2dm" class="span4 col-xm-6 col-xs-12"> <div id="kczpp7p" class="footer_list"> <div id="hzzvvta" class="footer_link"> <div id="v4hq3ec" 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="sml44yq" 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="vrfwz1e" class="span4 col-xm-6 col-xs-12"> <div id="h2t7ogv" class="footer_list"> <div id="6dsbizx" class="footer_cotact"> <div id="7bz6vk8" class="footer_cotact_title">聯(lián)系方式</div> <ul> <li><span id="uedtcdb" class="footer_cotact_type">企業(yè):</span><span id="yiqo3fg" class="footer_cotact_content">四川綿陽(yáng)平武網(wǎng)站建設(shè)工作室</span></li> <li><span id="rjzx6ar" class="footer_cotact_type">地址:</span><span id="mweuk9w" class="footer_cotact_content">成都市青羊區(qū)太升南路288號(hào)</span></li> <li><span id="qiyntr6" class="footer_cotact_type">電話:</span><span id="v7hmbzg" class="footer_cotact_content"><a href="tel:18980820575" class="call">18980820575</a></span></li> <li><span id="undsisz" class="footer_cotact_type">網(wǎng)址:</span><span id="fxfmclu" class="footer_cotact_content"><a href="/" title="四川平武網(wǎng)站建設(shè)">www.5511xx.com</a></span></li> </ul> </div> </div> </div> </div> </div> <div id="rlqilb1" class="copyright"> <p>公司名稱:四川綿陽(yáng)平武網(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://www.5511xx.com/" title="日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区">日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区</a> <div class="friend-links"> <a href="http://www.stangekirke.net">黄色Av中文板狠狠干伊人|夜夜嗨AV综合黄色A毛片|无码成人AV在线看免费|日韩黄片免费试看|夜间视频无码日韩a片老牛|成人亚洲免费AV在线看|国产二区在线播放|成人嫩草AV网址|99视频偷拍偷拍|在线成人图片观看</a> <a href="http://www.annearundelcountylife.com">AV每日更新不卡|无码av丝袜高跟鞋|伊人视频精品久久亚洲国产|影音先锋日本无码|91色婷婷一区二区在线|免费不卡一区二区三区|国产精选无码AV|一区二区色情国产韩国精品一|在线播放av导航|成人无码视频在线看</a> <a href="http://www.thanxmkt.com">久草影视探花一级片少妇|综合色网在线播放|av天堂婷婷视频黄片|视频一区 国产精品|亚洲人成人毛片无遮挡|亚洲在线观看av在线观影|欧美特黄A级毛片|亚洲精品线路在线观看|日韩精品A片一区二区三区|亚洲岛国无码一区二区</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="fpjr4" class="pl_css_ganrao" style="display: none;"><form id="fpjr4"><center id="fpjr4"><tr id="fpjr4"><optgroup id="fpjr4"></optgroup></tr></center></form><span id="fpjr4"></span><pre id="fpjr4"></pre><small id="fpjr4"><rp id="fpjr4"><big id="fpjr4"><pre id="fpjr4"></pre></big></rp></small><label id="fpjr4"></label><nobr id="fpjr4"><video id="fpjr4"><div id="fpjr4"><small id="fpjr4"></small></div></video></nobr><samp id="fpjr4"></samp><delect id="fpjr4"><xmp id="fpjr4"><th id="fpjr4"><button id="fpjr4"></button></th></xmp></delect><var id="fpjr4"></var><pre id="fpjr4"></pre><table id="fpjr4"><small id="fpjr4"><tr id="fpjr4"><dfn id="fpjr4"></dfn></tr></small></table><pre id="fpjr4"></pre><dfn id="fpjr4"><tfoot id="fpjr4"><small id="fpjr4"><delect id="fpjr4"></delect></small></tfoot></dfn><delect id="fpjr4"></delect><noframes id="fpjr4"></noframes><delect id="fpjr4"><strike id="fpjr4"><th id="fpjr4"><samp id="fpjr4"></samp></th></strike></delect><pre id="fpjr4"><sup id="fpjr4"><label id="fpjr4"><li id="fpjr4"></li></label></sup></pre><kbd id="fpjr4"><tr id="fpjr4"><optgroup id="fpjr4"><ul id="fpjr4"></ul></optgroup></tr></kbd><delect id="fpjr4"></delect><div id="fpjr4"><label id="fpjr4"><tt id="fpjr4"><dd id="fpjr4"></dd></tt></label></div><center id="fpjr4"></center><div id="fpjr4"><small id="fpjr4"><button id="fpjr4"><big id="fpjr4"></big></button></small></div><tr id="fpjr4"></tr><dfn id="fpjr4"><dfn id="fpjr4"><span id="fpjr4"><var id="fpjr4"></var></span></dfn></dfn><xmp id="fpjr4"></xmp><optgroup id="fpjr4"></optgroup><dfn id="fpjr4"></dfn><xmp id="fpjr4"><td id="fpjr4"><rp id="fpjr4"><center id="fpjr4"></center></rp></td></xmp><dfn id="fpjr4"></dfn><pre id="fpjr4"><sup id="fpjr4"><label id="fpjr4"><li id="fpjr4"></li></label></sup></pre><optgroup id="fpjr4"></optgroup><strike id="fpjr4"></strike><dfn id="fpjr4"></dfn><td id="fpjr4"><table id="fpjr4"><ins id="fpjr4"><form id="fpjr4"></form></ins></table></td><pre id="fpjr4"></pre><dd id="fpjr4"><tbody id="fpjr4"><pre id="fpjr4"><xmp id="fpjr4"></xmp></pre></tbody></dd><label id="fpjr4"></label><center id="fpjr4"></center><table id="fpjr4"></table><optgroup id="fpjr4"></optgroup><noframes id="fpjr4"><menuitem id="fpjr4"><dl id="fpjr4"><small id="fpjr4"></small></dl></menuitem></noframes><sup id="fpjr4"><strike id="fpjr4"><form id="fpjr4"><center id="fpjr4"></center></form></strike></sup><optgroup id="fpjr4"></optgroup><em id="fpjr4"></em><tt id="fpjr4"><tfoot id="fpjr4"><nobr id="fpjr4"><em id="fpjr4"></em></nobr></tfoot></tt><kbd id="fpjr4"><form id="fpjr4"><optgroup id="fpjr4"><output id="fpjr4"></output></optgroup></form></kbd><pre id="fpjr4"></pre><li id="fpjr4"><thead id="fpjr4"><thead id="fpjr4"><abbr id="fpjr4"></abbr></thead></thead></li><center id="fpjr4"><tr id="fpjr4"><optgroup id="fpjr4"><ul id="fpjr4"></ul></optgroup></tr></center><div id="fpjr4"></div></div> </html>