No bean found under attribute key XXX
在struts
config
xml裡定義了一個ActionForm
但type屬性指定的類不存在
type屬性的值應該是Form類的全名
或者是
在Action的定義中
name或attribute屬性指定的ActionForm不存在
Cannot find bean XXX in any scope
在Action裡一般會request
setAttribute()一些對象
然後在轉向的jsp文件裡(用tag或request
getAttribute()方法)得到這些對象並顯示出來
這個異常是說jsp要得到一個對象
但前面的Action裡並沒有將對象設置到request(也可以是session
servletContext)裡
可能是名字錯了
請檢查jsp裡的tag的一般是name屬性
或getAttribute()方法的參數值
或者是Action邏輯有問題沒有執行setAttribute()方法就先轉向了
還有另外一個可能
純粹是jsp文件的問題
例如會指定一個id值
然後在循環裡使用這個值作為name的值
如果這兩個值不同
也會出現此異常
(都是一個道理
request裡沒有對應的對象
)
Missing message for key
XXX
缺少所需的資源
檢查ApplicationResources
properties文件裡是否有jsp文件裡需要的資源
例如
這行代碼會找msg
name
prompt資源
如果AppliationResources
properties裡沒有這個資源就會出現本異常
在使用多模塊時
要注意在模塊的struts
config
xxx
xml裡指定要使用的資源文件名稱
否則當然什麼資源也找不到
這也是一個很容易犯的錯誤
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並未在struts
config
xml裡設置過
HTTP Status
/xxx/xxx
jsp
Forward的path屬性指向的jsp頁面不存在
請檢查路徑和模塊
對於同一模塊中的Action轉向
path中不應包含模塊名
模塊間轉向
記住使用contextRelative=
true
沒有任何異常信息
顯示空白頁面
可能是Action裡使用的forward與struts
config
xml裡定義的forward名稱不匹配
The element type
XXX
must be terminated by the matching end
tag
XXX
這個是struts
config
xml文件的格式錯誤
仔細檢查它是否是良構的xml文件
關於xml文件的格式這裡就不贅述了
Servlet
init() for servlet action threw exception
一般出現這種異常在後面會顯示一個關於ActionServlet的異常堆棧信息
其中指出了異常具體出現在代碼的哪一行
我曾經遇到的一次提示如下
java
lang
NullPointerException
at org
apache
struts
action
ActionServlet
parseModuleConfigFile(ActionServlet
java:
)
at org
apache
struts
action
ActionServlet
initModuleConfig(ActionServlet
java:
)
為解決問題
先下載struts的源碼包
然後在ActionServlet
java的第
行插入斷點
並對各變量進行監視
很丟人
我竟然把struts
config
xml文件弄丟了
因此出現了上面的異常
應該是和CVS同步時不小心刪除的
Resources not defined for Validator
這個是利用Validator插件做驗證時可能出現的異常
這時你要檢查validation
xml文件
看裡面使用的資源是否確實有定義
form的名稱是否正確
等等
From:http://tw.wingwit.com/Article/program/Java/ky/201311/27985.html