There is no Action mapped for namespace [/] and action name [] associated with context p --gxy

首先的批評自己,做了兩年多的struts2自以爲是,以爲沒有什麼可以難爲到我了。我再此認錯!
最近用Maven+stuts2+hibernate4+spring4做一個簡單的項目,在搭建項目測試的時候就出問題了。實在是坑爹了。一直報:
There is no Action mapped for namespace [/] and action name [] associated with context p
因爲使用的純註解+約定開發,幾乎是零配置(簡單配置還是要的。)所以並沒有在stuts2文件裏面配置任何的action啊,這些司空見慣的配置。因爲我不喜歡配置這些,像現在的公司,功能這麼多,光看配置文件就頭暈目眩,美其名曰好維護。我覺得這根本就是浪費勞動力,已經有action,你要好維護的話只要加個註釋這就可以完勝配置文件了。
也有人說你那個約定開發被限制死了,我就笑了。有本事你自己開發一個框架啊,本來人就生活在約定中。而且約定開發限定的是基本規則,這東西你就算自己寫的天花龍鳳難道還能影響到用戶看見的美觀嗎?你那個是給你自己看的。
廢話不多說了,以上純屬個人觀點。我寫在自己博客,自己開心愛怎麼寫怎麼寫。你們看不慣就不要看。直接看下面經驗吧。
首先既然用了約定開發,自然引進了struts2的規範包
<dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-convention-plugin</artifactId>
            <version>2.3.4.1</version>
        </dependency>

這東西第一次用,沒怎麼在意過他。而且以前都是別人搭建項目,我搭的都是很原始的。怪自己能力不夠吧。

這次我用上了。配置文件請注意:

Convention插件配置

struts.convention.result.path=/business/
struts.convention.package.locators=business,xwork

這裏是表示business或xwork開始的action類或者子包下的action類。
所以對應的訪問地址就需要從這裏開始。
如我的包路勁是這樣的:
這裏寫圖片描述
那我對應的訪問路勁是這樣的:
這裏寫圖片描述

因爲我指定了返回值的路勁是/business/
因此返回值的jsp是需要放在:
這裏寫圖片描述

需要說明的是,因爲我是第一次用maven,原來src/main/webapp的路勁就是我們普通web路勁的工程目錄下,跟web-inf同級。因此定義返回值路徑的時候要注意,去tomcat路勁下看看具體的地址:
這裏寫圖片描述

請各路大神原諒我擡頭說的話,這是我的總結,如果有什麼指導的請評論見,謝謝!

                                                        我的座右銘:不學不足於立世
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章