ajax+struts2实现总结
生活随笔
收集整理的這篇文章主要介紹了
ajax+struts2实现总结
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
ajax+struts2驗(yàn)證用戶名是否存在 首先需要從頁(yè)面通過(guò)document.getElementById或name獲得輸入的內(nèi)容,傳到struts2的中,這時(shí)就需要struts.xml文件起到作用了,也是重要的一步,首先需要添加lib:json-lib-2.4-jdk15.jar,struts2-json-plugin-2.3.15.2.jar,并將返回類(lèi)型設(shè)置type="json",而且添加了param excludeNullProperties聲明,
??excludeNullProperties 參數(shù):表示是不是去掉空值, 默認(rèn)值是false,如果設(shè)置為true會(huì)自動(dòng)將為空的值過(guò)濾,只輸出不為空的值。? <result type="json"><param name="excludeNullProperties">true</param></result>
??excludeNullProperties 參數(shù):表示是不是去掉空值, 默認(rèn)值是false,如果設(shè)置為true會(huì)自動(dòng)將為空的值過(guò)濾,只輸出不為空的值。? <result type="json"><param name="excludeNullProperties">true</param></result>
?
? 要是只想取出list對(duì)象集合中,對(duì)象的某幾個(gè)屬性,則需要下列配置: <action name="recommendList" class="VideoAction" method="recommendList"> <result name="success" type="json"> <param name="includeProperties">recommendList\[\d+\]\.videoTime,recommendList\[\d+\]\.videoId,recommendList\[\d+\]\.videoImg,recommendList\[\d+\]\.videoTitle </param> </result> </action>?
之后進(jìn)入action中,則需要注意到一個(gè)新的問(wèn)題,就是setter和getter,他們會(huì)自動(dòng)轉(zhuǎn)換為HttpServletRequest的getParameter()和setAttribute(),也就是說(shuō)在不需要將參數(shù)作為返回值返回到View層時(shí),是可以不寫(xiě)getter方法的,這也是在我實(shí)現(xiàn)ajax+struts2過(guò)程中,總是顯示其他不想要的內(nèi)容的原因。 然后就會(huì)返回到j(luò)avascript中,這時(shí),因?yàn)槎x了json的type,所以在javascript中的對(duì)象為json的object類(lèi)型,需要使用for in循環(huán)將json串中的內(nèi)容遍歷出來(lái),找到想要的內(nèi)容,還有一個(gè)hasOwnProperty()的方法,他是用來(lái)判斷返回的json中是否有json對(duì)象的,其實(shí)完全可以不是用,可能這樣會(huì)降低代碼的健壯性吧。 還有一點(diǎn)就是javascript的變量作用域的問(wèn)題,如下代碼: $("#acount" ).blur( function(){ var text = inputUserNameObj.val(); $.post("ajaxCheck.action?acount=" +text, null, function(result){ for( var i in result){ if(result.hasOwnProperty(i)){ alert(i+"----"+result[i]) ;}}alert( "js中result=" +result[i]);if(result[i]!=( '可以使用' )){document.getElementById( "namemessage" ).innerHTML="<font color='red'>"+result[i]+ "</font>";} else{document.getElementById( "namemessage" ).innerHTML="<font color='green'>"+result[i]+ "</font>";}}); });?
難道for in里邊的變量i能夠帶到外邊的if中?這在java中是不可以的吧?還搞不太明白 修改—————————— 上邊所說(shuō)的變量作用域問(wèn)題其實(shí)是javascript函數(shù)的一個(gè)閉包函數(shù),是javascript的特性轉(zhuǎn)載于:https://www.cnblogs.com/mecca/p/3510596.html
總結(jié)
以上是生活随笔為你收集整理的ajax+struts2实现总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C#读取Excel 2003/2007的
- 下一篇: LINQ字符拼接的AND和OR操作