struts2 控制器返回404


今天編程遇到一個奇怪的問題。

問題描述:

系統結構 struts2+spring+hibernate

首先,頁面向後臺發出異步請求 響應的action在struts.xml中配置。該action name=“upload”。因爲要異步返回json數據,所以,該action所在的package繼承了json-default。

<action name="upload" class="uploadAction" >
			<result name="success" type="json">
				<param name="root">uploadResultVo</param>
				<param name="noCache">true</param>
				<param name="excludeNullProperties">true</param>
			</result>
			<result name="error">error.jsp</result>
		</action>

然後,頁面發出請求後,返回404,。單步跟蹤發現,可以正確進入action,並有正確的返回SUCCESS,但是就是不能得到json結果;

後來嘗試把result換成普通頁面

<result name="success">/WEB-INF/index.jsp</result>
還是返回404.

這明顯是struts不能正確找到result對應的視圖,所以必定是struts配置文件出錯。

這樣一想,原因就很明顯了,因爲我繼承了json-default包,就可能是我的actionname和包中的某個action衝突了。因此我嘗試改變name的值,果然,能正確跳轉,也能返回json數據了。

此外,也可以給package加namespace,這樣也可以避免命名衝突。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章