資料整理

           

          Sturts中的常見異常

          Sturts 中的常見異常:

          1? 異常 ?javax.servlet.jsp.JspException:?Cannot?retrieve?mapping?for?action?/Login? /Login 是你的 action 名字) ?
          可能原因 :action 沒有再 struts-config.xml? 中定義,或沒有找到匹配的 action ,例如在 JSP 文件中使用 ?<HTML:FORM&NBSP;ACTION="LOGIN.DO". 將表單提交給 LOGIN.DO
          處理 : 如果出現上述異常,請查看 struts-config.xml 中的定義部分,有時可能是打錯了字符或者是某些不符合規則,可以使用 struts?console 工具來檢查。 ?

          2?
          異常 ?org.apache.jasper.JasperException:?Cannot?retrieve?definition?for?form?bean?null?
          ?
          可能原因 :?? 這個異常是因為 Struts 根據 struts-config.xml 中的 mapping 沒有找到 action 期望的 form?bean 。大部分的情況可能是因為在 form-bean 中設置的 name 屬性和 action 中設置的 name 屬性不匹配所致。換句話說, action form 都應該各自有一個 name 屬性,并且要精確匹配,包括大小寫。這個錯誤當沒有 name 屬性和 action 關聯時也會發生,如果沒有在 action 中指定 name 屬性,那么就沒有 name 屬性和 action 相關聯。當然當 action 制作某些控制時,譬如根據參數值跳轉到相應的 jsp 頁面,而不是處理表單數據,這是就不用 name 屬性,這也是 action 的使用方法之一。

          3?
          異常 ?No?action?instance?for?path?/xxxx?could?be?created?
          ?
          可能原因 ?
          ?
          特別提示:因為有很多中情況會導致這個錯誤的發生,所以推薦大家調高你的 web 服務器的日志 / 調試級別,這樣可以從更多的信息中看到潛在的、在試圖創建 action 類時發生的錯誤,這個 action 類你已經在 struts-config.xml 中設置了關聯(即添加了標簽)。 ?
          ?
          struts-config.xml 中通過 action 標簽的 class 屬性指定的 action 類不能被找到有很多種原因,例如: ?

          定位編譯后的 .class 文件失敗。 Failure?to?place?compiled?.class?file?for?the?action?in?the?classpath?( web 開發中, class 的的位置在 r?WEB-INF/classes ,所以你的 action?class 必須要在這個目錄下。例如你的 action 類位于 WEB-INF/classes/action/Login.class, 那么在 struts-config.xml 中設置 action 的屬性 type 時就是 action.Login).?
          拼寫錯誤,這個也時有發生,并且不易找到,特別注意第一個字母的大小寫和包的名稱。 ?
          ?
          struts-config.xml 中指定的 action 類沒有繼承自 Stuts Action 類,或者你自定義的 Action 類沒有繼承自 Struts 提供的 Action 類。 ?

          你的 action 類必須繼承自 Struts 提供的 Action 類。 ?
          ?
          你的 classpath 的問題。例如 web?server 沒有發現你的資源文件,資源文件必須在 WEB-INF/classes/ 目錄下。 ?
          ?
          4
          ???????????????????????????????????????????????????????????????????????????????????????????????????????? ?javax.servlet.jsp.JspException:?No?getter?method?for?property?username?of?bean?org.apache.struts.taglib.html.BEAN?
          ?
          可能原因 ?
          ?
          沒有位 form?bean 中的某個變量定義 getter? 方法 ?
          ?
          這個錯誤主要發生在表單提交的 FormBean 中,用 struts 標記 <HTML:TEXT&NBSP;PROPERTY=”USERNAME”> 時,在 FormBean 中必須有一個 getUsername() 方法。注意字母“ U ”。 ?
          5?Exception??javax.servlet.jsp.JspException:?Cannot?find?ActionMappings?or?ActionFormBeans?collection?
          ?
          可能原因 ?
          ?
          不是標識 Struts?actionServlet 的標記就是映射 .do 擴展名的標記或者兩者都沒有在 web.xml 中聲明。 ?
          ?
          struts-config.xml 中的打字或者拼寫錯誤也可導致這個異常的發生。例如缺少一個標記的關閉符號 /> 。最好使用 struts?console 工具檢查一下。 ?
          ?
          另外, load-on-startup 必須在 web.xml 中聲明,這要么是一個空標記,要么指定一個數值,這個數值用來表 servlet 運行的優先級,數值越大優先級越低。 ?
          ?
          還有一個和使用 load-on-startup 有關的是使用 Struts 預編譯 JSP 文件時也可能導致這個異常。 ?

          6?Exception?
          ?javax.servlet.jsp.JspException:?Cannot?find?bean?org.apache.struts.taglib.html.BEAN?in?any?scope?
          ?Probable?Causes?
          ?
          試圖在 Struts form 標記外使用 form 的子元素。這常常發生在你在后面使用 Struts html 標記。

          另外要注意可能你不經意使用的無主體的標記,如 <HTML:FORM&NBSP;…&NBSP; /> ,這樣 web? 服務器解析時就當作一個無主體的標記,隨后使用的所有標記都被認為是在這個標記之外的,如又使用了 <HTML:TEXT&NBSP;PROPERTY=”ID”>

          還有就是在使用 taglib 引入 HTML 標記庫時,你使用的 prefix 的值不是 html

          ?

          ?

          posted on 2006-07-17 17:02 謝瑋 閱讀(334) 評論(0)  編輯  收藏 所屬分類: 流行框架Web

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          主站蜘蛛池模板: 高唐县| 新和县| 高州市| 宝山区| 阳曲县| 翁牛特旗| 出国| 吐鲁番市| 尉氏县| 华蓥市| 临夏市| 云林县| 黄陵县| 怀远县| 东宁县| 镶黄旗| 通化市| 辛集市| 平凉市| 通海县| 浮梁县| 赣州市| 无极县| 宜州市| 宁河县| 南澳县| 张北县| 察隅县| 西峡县| 应用必备| 万州区| 行唐县| 大丰市| 都江堰市| 齐齐哈尔市| 阿合奇县| 黎平县| 屏边| 南雄市| 清河县| 建平县|