熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Struts常見的11個錯誤匯總

2013-11-23 20:07:58  來源: Java開源技術 
    No bean found under attribute key XXX
   
    在strutsconfigxml裡定義了一個ActionForm但type屬性指定的類不存在type屬性的值應該是Form類的全名或者是在Action的定義中name或attribute屬性指定的ActionForm不存在
   
    Cannot find bean XXX in any scope
   
    在Action裡一般會requestsetAttribute()一些對象然後在轉向的jsp文件裡(用tag或requestgetAttribute()方法)得到這些對象並顯示出來這個異常是說jsp要得到一個對象但前面的Action裡並沒有將對象設置到request(也可以是sessionservletContext)裡
   
    可能是名字錯了請檢查jsp裡的tag的一般是name屬性或getAttribute()方法的參數值或者是Action邏輯有問題沒有執行setAttribute()方法就先轉向了
   
    還有另外一個可能純粹是jsp文件的問題例如會指定一個id值然後在循環裡使用這個值作為name的值如果這兩個值不同也會出現此異常(都是一個道理request裡沒有對應的對象
   
    Missing message for key XXX
   
    缺少所需的資源檢查ApplicationResourcesproperties文件裡是否有jsp文件裡需要的資源例如
   
    這行代碼會找msgnameprompt資源如果AppliationResourcesproperties裡沒有這個資源就會出現本異常在使用多模塊時要注意在模塊的strutsconfigxxxxml裡指定要使用的資源文件名稱否則當然什麼資源也找不到這也是一個很容易犯的錯誤
   
    No getter method for property XXX of bean teacher
   
    這條異常信息說得很明白jsp裡要取一個bean的屬性出來但這個bean並沒有這個屬性你應該檢查jsp中某個標簽的property屬性的值例如下面代碼中的cade應該改為code才對
   
    Cannot find ActionMappings or ActionFormBeans collection
   
    待解決
   
    Cannot retrieve mapping for action XXX
   
    在jsp的
   
    標簽裡指定action=/XXX但這個Action並未在strutsconfigxml裡設置過
   
    HTTP Status /xxx/xxxjsp
   
    Forward的path屬性指向的jsp頁面不存在請檢查路徑和模塊對於同一模塊中的Action轉向path中不應包含模塊名模塊間轉向記住使用contextRelative=true
   
    沒有任何異常信息顯示空白頁面
   
    可能是Action裡使用的forward與strutsconfigxml裡定義的forward名稱不匹配
   
    The element type XXX must be terminated by the matching endtag XXX
   
    這個是strutsconfigxml文件的格式錯誤仔細檢查它是否是良構的xml文件關於xml文件的格式這裡就不贅述了
   
    Servletinit() for servlet action threw exception
   
    一般出現這種異常在後面會顯示一個關於ActionServlet的異常堆棧信息其中指出了異常具體出現在代碼的哪一行我曾經遇到的一次提示如下
   
    javalangNullPointerException
   
    at orgapachestrutsactionActionServletparseModuleConfigFile(ActionServletjava:
   
    at orgapachestrutsactionActionServletinitModuleConfig(ActionServletjava:
   
    為解決問題先下載struts的源碼包然後在ActionServletjava的第行插入斷點並對各變量進行監視很丟人我竟然把strutsconfigxml文件弄丟了因此出現了上面的異常應該是和CVS同步時不小心刪除的
   
    Resources not defined for Validator
   
    這個是利用Validator插件做驗證時可能出現的異常這時你要檢查validationxml文件看裡面使用的資源是否確實有定義form的名稱是否正確等等
From:http://tw.wingwit.com/Article/program/Java/ky/201311/27985.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.