公眾號(hào):mywangxiao
及時(shí)發(fā)布考試資訊
分享考試技巧、復(fù)習(xí)經(jīng)驗(yàn)
新浪微博 @wangxiaocn關(guān)注微博
聯(lián)系方式 400-18-8000
異常
javax。servlet。jsp。JspException: Missing message for key xx。xx。xx
Probable Causes
這個(gè)key的值對(duì)沒有在資源文件ApplicationResources。properties中定義。如果你使用eclipse時(shí)經(jīng)常碰到這樣的情況,當(dāng)項(xiàng)目重新編譯時(shí),eclipse會(huì)自動(dòng)將classes目錄下的資源文件刪除。
資源文件ApplicationResources。properties 不在classpath中應(yīng)將資源文件放到 WEBINF/classes 目錄下,當(dāng)然要在strutsconfig。xml中定義)
異常
Cannot find message resources under key org。apache。struts。action。MESSAGE
可能原因
很顯然,這個(gè)錯(cuò)誤是發(fā)生在使用資源文件時(shí),而Struts沒有找到資源文件。
Implicitly trying to use message resources that are not available (such as using empty html:options tag instead of specifyingthe options in its body this assumes options are specified in ApplicationResources。properties file)
XML parser issues too many, too few, incorrect/incompatible versions
異常
Strange and seemingly random characters in HTML and on screen, but not in original JSP or servlet。
可能原因
混和使用Struts的html:form標(biāo)記和標(biāo)準(zhǔn)的HTML標(biāo)記不正確。
使用的編碼樣式在本頁中不支持。
異常
"Document contained no data" in Netscape
No data rendered (completely empty) page in Microsoft Internet Explorer
可能原因
使用一個(gè)Action的派生類而沒有實(shí)現(xiàn)perform()方法或execute()方法。在Struts1。0中實(shí)現(xiàn)的是perform()方法,在Struts1。1中實(shí)現(xiàn)的是execute()方法,但Struts1。1向后兼容perform()方法。但你使用Struts1。1創(chuàng)建一個(gè)Action的派生類,并且實(shí)現(xiàn)了execute()方法,而你在Struts1。0中運(yùn)行的話,就會(huì)得到"Document contained nodata" error message in Netscape or a completely empty (no HTML whatsoever) page rendered in Microsoft Internet Explorer。”的錯(cuò)誤信息。
異常
ServletException: BeanUtils。populate
解決方案
在用Struts上傳文件時(shí),遇到了javax。servlet。ServletException: BeanUtils。populate異常。
我的ActionServlet并沒有用到BeanUtils這些工具類。后來仔細(xì)檢查代碼發(fā)現(xiàn)是在jsp文件里的form忘了加enctype=quot;multipart/formdataquot; 了。所以寫程序遇到錯(cuò)誤或異常應(yīng)該從多方面考慮問題存在的可能性,想到系統(tǒng)提示信息以外的東西。
1。 定義Action后, 如果指定了name, 那么必須要定義一個(gè)與它同名的FormBean才能進(jìn)行form映射。2。 如果定義Action后, 提交頁面時(shí)出現(xiàn) "No input attribute for mapping path。。。" 錯(cuò)誤, 則需要在其input屬性中定義轉(zhuǎn)向的頁面。3。 如果插入新的數(shù)據(jù)時(shí)出現(xiàn) "Batch update row count wrong:。。。" 錯(cuò)誤, 則說明XXX。hbm。xml中指定的key的類型為原始類型(int, long),因?yàn)檫@種類型會(huì)自動(dòng)分配值, 而這個(gè)值往往會(huì)讓系統(tǒng)認(rèn)為已經(jīng)存在該記錄, 正確的方法是使用java。lang。Integer或java。lang。Long對(duì)象。4。 如果插入數(shù)據(jù)時(shí)出現(xiàn) "argument type mismatch" 錯(cuò)誤, 可能是你使用了Date等特殊對(duì)象, 因?yàn)閟truts不能自動(dòng)從String型轉(zhuǎn)換成Date型,所以, 你需要在Action中手動(dòng)把String型轉(zhuǎn)換成Date型。5。 Hibernate中, Query的iterator()比list()方法快很多。6。 如果出現(xiàn) "equal symbol expected" 錯(cuò)誤, 說明你的strtus標(biāo)簽中包含另一個(gè)標(biāo)簽或者變量, 例如:
html:select property="test" onchange="%=test%"/
或者
html:hidden property="test" value="bean:write name="t" property="p"/"/
編輯推薦:JAVA認(rèn)證考試經(jīng)驗(yàn)技巧之JAVA常見異常匯總
更多關(guān)注:JAVA考試經(jīng)驗(yàn) JAVA輔導(dǎo)資料 JAVA歷年真題
(責(zé)任編輯:xy)