資料整理

           

          Sturts中的常見(jiàn)異常

          Sturts 中的常見(jiàn)異常:

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

          2?
          異常 ?org.apache.jasper.JasperException:?Cannot?retrieve?definition?for?form?bean?null?
          ?
          可能原因 :?? 這個(gè)異常是因?yàn)?/span> Struts 根據(jù) struts-config.xml 中的 mapping 沒(méi)有找到 action 期望的 form?bean 。大部分的情況可能是因?yàn)樵?/span> form-bean 中設(shè)置的 name 屬性和 action 中設(shè)置的 name 屬性不匹配所致。換句話(huà)說(shuō), action form 都應(yīng)該各自有一個(gè) name 屬性,并且要精確匹配,包括大小寫(xiě)。這個(gè)錯(cuò)誤當(dāng)沒(méi)有 name 屬性和 action 關(guān)聯(lián)時(shí)也會(huì)發(fā)生,如果沒(méi)有在 action 中指定 name 屬性,那么就沒(méi)有 name 屬性和 action 相關(guān)聯(lián)。當(dāng)然當(dāng) action 制作某些控制時(shí),譬如根據(jù)參數(shù)值跳轉(zhuǎn)到相應(yīng)的 jsp 頁(yè)面,而不是處理表單數(shù)據(jù),這是就不用 name 屬性,這也是 action 的使用方法之一。

          3?
          異常 ?No?action?instance?for?path?/xxxx?could?be?created?
          ?
          可能原因 ?
          ?
          特別提示:因?yàn)橛泻芏嘀星闆r會(huì)導(dǎo)致這個(gè)錯(cuò)誤的發(fā)生,所以推薦大家調(diào)高你的 web 服務(wù)器的日志 / 調(diào)試級(jí)別,這樣可以從更多的信息中看到潛在的、在試圖創(chuàng)建 action 類(lèi)時(shí)發(fā)生的錯(cuò)誤,這個(gè) action 類(lèi)你已經(jīng)在 struts-config.xml 中設(shè)置了關(guān)聯(lián)(即添加了標(biāo)簽)。 ?
          ?
          struts-config.xml 中通過(guò) action 標(biāo)簽的 class 屬性指定的 action 類(lèi)不能被找到有很多種原因,例如: ?

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

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

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

          另外要注意可能你不經(jīng)意使用的無(wú)主體的標(biāo)記,如 <HTML:FORM&NBSP;…&NBSP; /> ,這樣 web? 服務(wù)器解析時(shí)就當(dāng)作一個(gè)無(wú)主體的標(biāo)記,隨后使用的所有標(biāo)記都被認(rèn)為是在這個(gè)標(biāo)記之外的,如又使用了 <HTML:TEXT&NBSP;PROPERTY=”ID”>

          還有就是在使用 taglib 引入 HTML 標(biāo)記庫(kù)時(shí),你使用的 prefix 的值不是 html

          ?

          ?

          posted on 2006-07-17 17:02 謝瑋 閱讀(335) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 流行框架Web

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 沿河| 北碚区| 浏阳市| 绥芬河市| 兴国县| 百色市| 香港| 新安县| 扎鲁特旗| 安阳县| 施甸县| 子长县| 楚雄市| 靖西县| 田林县| 马龙县| 绩溪县| 阿坝县| 深圳市| 遂宁市| 天峨县| 平湖市| 扎兰屯市| 吐鲁番市| 陆丰市| 安泽县| 金昌市| 龙游县| 扎兰屯市| 汉源县| 明星| 红安县| 肥乡县| 保康县| 清镇市| 巧家县| 博乐市| 中阳县| 邯郸市| 界首市| 祁东县|