隨筆-72  評論-63  文章-0  trackbacks-0
          Cannot?retrieve?mapping?for?action?
          ?
          異常?
          ?javax.servlet.jsp.JspException:?Cannot?retrieve?mapping?for?action?/Login?(/Login是你的action名字)?
          ?
          ??
          ???
          ?
          可能原因?
          ?action沒有再struts-config.xml?中定義,或沒有找到匹配的action,例如在JSP文件中使用?<html:form?action="Login.do".將表單提交給Login.do處理,如果出現(xiàn)上述異常,請查看struts-config.xml中的定義部分,有時(shí)可能是打錯(cuò)了字符或者是某些不符合規(guī)則,可以使用struts?console工具來檢查。?
          ?


          ?

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


          ?

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

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

          你的action類必須繼承自Struts提供的Action類。?
          ?
          你的classpath的問題。例如web?server沒有發(fā)現(xiàn)你的資源文件,資源文件必須在WEB-INF/classes/目錄下。?
          ?
          Problem?in?struts-config.xml?file?with?action?mapping.?
          ?
          Problem?with?data-sources.xml?file.?
          ?
          相關(guān)鏈接?
          ?http://www.mail-archive.com/struts-user ... org/msg65874.html?
          Action?Mapping?mistake?in?struts-config.xml:
          http://www.manning.com/ao/readforum.ht ... mp;readthread=177?
          data-sources.xml?file?:
          http://www.caucho.com/quercus/faq/section.xtp?section_id=30?
          ?


          ?

          No?getter?method?for?property?XXXX?of?bean?org.apache.struts.taglib.html.BEAN?
          ?
          異常?
          ?javax.servlet.jsp.JspException:?No?getter?method?for?property?username?of?bean?org.apache.struts.taglib.html.BEAN?
          ?
          可能原因?
          ?沒有位form?bean中的某個(gè)變量定義getter?方法?
          ?
          這個(gè)錯(cuò)誤主要發(fā)生在表單提交的FormBean中,用struts標(biāo)記<html:text?property=”username”>時(shí),在FormBean中必須有一個(gè)getUsername()方法。注意字母“U”。?
          ?
          Related?Links?
          ?Case?can?trip?up?the?matching?between?get?method's?name?and?name?specified?in?Struts?tag
          http://saloon.javaranch.com/cgi-bin/ubb/ultimate ... c&f=58&t=000163?
          ?


          ?

          java.lang.NoClassDefFoundError:?org/apache/struts/action/ActionForm?
          ?
          錯(cuò)誤?
          ?java.lang.NoClassDefFoundError:?org/apache/struts/action/ActionForm?
          ?
          可能原因?
          ?這個(gè)錯(cuò)誤主要發(fā)生在在classpath中找不到相應(yīng)的Java?.class文件。如果這個(gè)錯(cuò)誤發(fā)生在web應(yīng)用程序的運(yùn)行時(shí),主要是因?yàn)橹付ǖ腸lass文件不在web?server的classpath中(/WEB-INF/classes?和?/WEB-INF/lib)。?

          在上面的錯(cuò)誤中,原因是找不到ActionForm類。?
          ?
          This?error?is?sometimes?seen?when?one?or?more?ActionForm.class?instances?are?actually?in?the?classpath.?This?most?often?occurs?when?ActionForm.class?is?made?available?correctly?by?placing?struts.jar?in?the?/WEB-INF/lib?directory.?When?this?library?has?been?correctly?placed?and?it?is?verified?that?ActionForm.class?actually?is?present?in?the?struts.jar?file,?the?problem?is?either?that?more?than?one?copy?of?ActionForm.class?is?in?the?classpath?or?(more?likely)?that?duplicate?versions?of?class?files?other?than?ActionForm?are?in?the?same?classpath,?causing?confusion.?This?is?especially?true?if?a?class?that?extends?ActionForm?is?made?available?twice,?such?as?in?an?.ear?file?that?encompasses?a?.war?file?as?well?as?in?the?.war?file's?own?classpath?(/WEB-INF/classes).?This?problem?can?be?resolved?by?guaranteeing?that?there?are?no?redundant?classes,?especially?those?related?to?Struts?(directly?from?Struts?or?extensions?of?Struts),?in?the?web?application's?view.?
          ?
          相關(guān)連接?
          ?EJB?and?Web?Shared?Links:
          http://forum.java.sun.com/thread.jsp?forum=26&am ... ;tstart=0&trange=15?
          Keep?Action?and?ActionForm?(and?their?children)?as?non-overlapping?unit(s)?of?an?application
          http://www.mail-archive.com/struts-u ... ache.org/msg47466.html
          http://www.mail-archive.com/struts-user ... org/msg47467.html?
          ?


          ?

          Exception?creating?bean?of?class?org.apache.struts.action.ActionForm:?{1}?
          ?
          異常?
          ?javax.servlet.jsp.JspException:?Exception?creating?bean?of?class?org.apache.struts.action.ActionForm:?{1}?
          ?
          可能原因?
          ?Instantiating?Struts-provided?ActionForm?class?directly?instead?of?instantiating?a?class?derived?off?ActionForm.?This?might?occur?implicitly?if?you?specify?that?a?form-bean?is?this?Struts?ActionForm?class?rather?than?specifying?a?child?of?this?class?for?the?form-bean.?
          ?
          Not?associating?an?ActionForm-descended?class?with?an?action?can?also?lead?to?this?error.?
          ?
          Related?Links?
          ???
          ?


          ?

          Cannot?find?ActionMappings?or?ActionFormBeans?collection?
          ?
          Exception?
          ?javax.servlet.jsp.JspException:?Cannot?find?ActionMappings?or?ActionFormBeans?collection?
          ?
          可能原因?
          ?不是標(biāo)識(shí)Struts?actionServlet的<servlet>標(biāo)記就是映射.do擴(kuò)展名的<sevlet-mapping>標(biāo)記或者兩者都沒有在web.xml中聲明。?
          ?
          在struts-config.xml中的打字或者拼寫錯(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ù)值用來表servlet運(yùn)行的優(yōu)先級,數(shù)值越大優(yōu)先級越低。?
          ?
          還有一個(gè)和使用load-on-startup有關(guān)的是使用Struts預(yù)編譯JSP文件時(shí)也可能導(dǎo)致這個(gè)異常。?
          ?
          相關(guān)鏈接?
          ?Explicitly?Define?<load-on-startup>
          http://saloon.javaranch.com/cgi-bin/ubb/ultim ... topic&f=50&t=001055
          http://threebit.net/tutorials/ejb/general/?
          ?


          ?

          NullPointerException?at?...?RequestUtils.forwardURL?
          ?
          異常?
          ?java.lang.NullPointerException?at?org.apache.struts.util.RequestUtils.forwardURL(RequestUtils.java:1223)?
          ?
          可能原因?
          ?在struts-config.xml中的forward元素缺少path屬性。例如應(yīng)該是如下形式:
          <forward?name="userhome"?path="/user/userhome.jsp"/>?
          ?


          ?

          Cannot?find?bean?org.apache.struts.taglib.html.BEAN?in?any?scope?
          ?
          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ā)生在你在</html:form>后面使用Struts的html標(biāo)記。

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

          還有就是在使用taglib引入HTML標(biāo)記庫時(shí),你使用的prefix的值不是html。?
          ?
          相關(guān)連接?
          ?Using?form?subelements?outside?of?a?form?tag
          http://forum.java.sun.com/thread.jsp?thread= ... &message=1384153?
          ?


          ?

          Missing?message?for?key?xx.xx.xx?
          ?
          Exception?
          ?javax.servlet.jsp.JspException:?Missing?message?for?key?xx.xx.xx?
          ?
          Probable?Causes?
          ?這個(gè)key的值對沒有在資源文件ApplicationResources.properties中定義。如果你使用eclipse時(shí)經(jīng)常碰到這樣的情況,當(dāng)項(xiàng)目重新編譯時(shí),eclipse會(huì)自動(dòng)將classes目錄下的資源文件刪除。?
          ?
          資源文件ApplicationResources.properties?不在classpath中?應(yīng)將資源文件放到?WEB-INF/classes?目錄下,當(dāng)然要在struts-config.xml中定義)?
          ?


          ?

          Cannot?find?message?resources?under?key?org.apache.struts.action.MESSAGE?
          ?
          異常?
          ?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?specifying?the?options?in?its?body?--?this?assumes?options?are?specified?in?ApplicationResources.properties?file)?
          ?
          XML?parser?issues?--?too?many,?too?few,?incorrect/incompatible?versions?
          ?
          Related?Links?
          ?Provide?Struts?with?Resource?Bundle
          http://threebit.net/tutorials/ejb/general/?
          XML?Parser?Issues
          http://www.mail-archive.com/struts-user ... org/msg15779.html?
          ?


          ?

          No?input?attribute?for?mapping?path?/loginAction?
          ?
          錯(cuò)誤?
          ?No?input?attribute?for?mapping?path?/xxxxAction?
          ?
          可能原因e?
          ?No?input?attribute?in?action?mapping?in?struts-config.xml?file?for?the?action?with?the?name?specified?in?the?error?message.?An?input?attribute?is?not?required?if?form?validation?is?not?performed?(either?because?the?validate?attribute?is?set?to?false?or?because?the?validation?method?in?the?relevant?form?class?is?not?implemented.?The?input?attribute?specifies?the?page?leading?to?this?action?because?that?page?is?used?to?display?error?messages?from?the?form?validation.?
          ?
          Related?Links?
          ???
          ?


          ?

          Strange?Output?Characters?
          ?
          錯(cuò)誤?
          ?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"?or?no?data?rendered?on?page?
          ?
          錯(cuò)誤?
          ?"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?no?data"?error?message?in?Netscape?or?a?completely?empty?(no?HTML?whatsoever)?page?rendered?in?Microsoft?Internet?Explorer.”的錯(cuò)誤信息。
          posted on 2006-05-10 14:49 船長 閱讀(209) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 鄂伦春自治旗| 集安市| 柳州市| 南江县| 德兴市| 渭源县| 江北区| 额尔古纳市| 河池市| 抚远县| 郴州市| 通城县| 榆林市| 富蕴县| 定州市| 景宁| 大兴区| 萝北县| 炉霍县| 伽师县| 西林县| 保山市| 博罗县| 台山市| 金坛市| 读书| 荔波县| 江陵县| 奉化市| 山丹县| 独山县| 抚顺县| 湘潭市| 乡宁县| 宜城市| 达州市| 徐水县| 白城市| 平阴县| 大方县| 南郑县|