昨晚上花了將近45分鐘才解決…怪我沒找到好文章說明這個問題…那時候太急了都忘記時間了..
(首先我用的myeclipse9.0,用自帶的導入了struts2.1版本的類庫)
(網上搜索大量說是沒在struts.xml中配置input,路徑,等等問題,發現這些都不是屬於我的)
而我的原因很簡單:
struts2.1.8 必須在struts.xml中配置namespace屬性
如果你在2.0中一切OK,但是在2.1中確出現了No
result defined for
action的異常,就是在因爲在2.1中有一個插件struts2-convention-plugin-2.1.8.jar,這個插件是2.1版本中新添加的默認核心包,這個插件是實現Struts2的零配置,必須引入namespace命名空間,否則就會出現剛纔的No
result defined for action的異常
這裏需要補充的事,其中也有一種可能:
假如你的瀏覽器是中文優先(瀏覽器的“語言”選項中可以設置的),
而其中有一個表單要求輸入的是Date類型,那應該輸入2010-10-2,這種橫槓方式。
如果是英語優先那就必須填入10/2/2010,不然可能也出現這種情況。)
解決辦法:(如下圖)
在struts.xml中如下配置,添加一個namespace屬性,名稱任意,建議取得有意義。
而JSP相對應的請求頁面也需要跟着設置:
第一種方法
可是這種方式會報一個警告,雖然不影響使用.但是更加好的寫法是:(如下圖)
struts2標籤中是支持這個屬性