可能原因
沒有位form bean中的某個變量定義getter 方法
這個錯誤主要發生在表單提交的FormBean中,用struts標記html:text property=”username”時,在FormBean中必須有一個getUsername()方法。注意字母“U”。
異常
java。lang。NoClassDefFoundError: org/apache/struts/action/ActionForm
可能原因
這個錯誤主要發生在在classpath中找不到相應的Java 。class文件。如果這個錯誤發生在web應用程序的運行時,主要是因為指定的class文件不在web server的classpath中(/WEBINF/classes 和 /WEBINF/lib)。在上面的錯誤中,原因是找不到ActionForm類。
異常
javax。servlet。jsp。JspException: Exception creating bean of class org。apache。struts。action。ActionForm: {1}
可能原因
Instantiating Strutsprovided ActionForm class directly instead of instantiating a class derived off ActionForm。 This mightoccur implicitly if you specify that a formbean is this Struts ActionForm class rather than specifying a child of this classfor the formbean。
Not associating an ActionFormdescended class with an action can also lead to this error。
異常
javax。servlet。jsp。JspException: Cannot find ActionMappings or ActionFormBeans collection
可能原因
不是標識Struts actionServlet的servlet標記就是映射。do擴展名的sevletmapping標記或者兩者都沒有在web。xml中聲明。
在strutsconfig。xml中的打字或者拼寫錯誤也可導致這個異常的發生。例如缺少一個標記的關閉符號/。最好使用struts console工具檢查一下。
另外,loadonstartup必須在web。xml中聲明,這要么是一個空標記,要么指定一個數值,這個數值用來表servlet運行的優先級,數值越大優先級越低。
還有一個和使用loadonstartup有關的是使用Struts預編譯JSP文件時也可能導致這個異常。
異常
java。lang。NullPointerException at org。apache。struts。util。RequestUtils。forwardURL(RequestUtils。java:1223)
可能原因
在strutsconfig。xml中的forward元素缺少path屬性。例如應該是如下形式:
forward name="userhome" path="/user/userhome。jsp"/
異常
javax。servlet。jsp。JspException: Cannot find bean org。apache。struts。taglib。html。BEAN in any scope
Probable Causes
試圖在Struts的form標記外使用form的子元素。這常常發生在你在/html:form后面使用Struts的html標記。另外要注意可能你不經意使用的無主體的標記,如html:form … /,這樣web 服務器解析時就當作一個無主體的標記,隨后使用的所有html標記都被認為是在這個標記之外的,如又使用了html:text property=”id”還有就是在使用taglib引入HTML標記庫時,你使用的prefix的值不是html。
更多關注:JAVA考試經驗 JAVA輔導資料 JAVA歷年真題
(責任編輯:xy)