Java struts2 package元素配置及實例解析
package 元素的所有屬性及對應(yīng)功能:
| Attribute | Required | Description |
| name | yes | key to for other packages to reference ---包名稱,用來讓別的包繼承時使用不能有重復(fù) |
| extends | no | inherits package behavior of the package it extends -----當(dāng)前包所要繼承的父包,繼承之后,當(dāng)前包擁有父包中所定義的任意類、攔截器等 |
| namespace | no | 用于區(qū)分包中相同的類 |
| abstract | no | declares package to be abstract (no action configurations required in package)定義當(dāng)前包為一個抽象的包也就是說不能有action元素在當(dāng)前包中 |
例子:
假如我有以下的配置段落
<struts> <package name="p1" extends="struts-default"> <action name="login" class="com.example.action.Login"> <result>/success.jsp</result> </action> <action name="login1" class="com.example.action.Login"> <result>/success.jsp</result> </action> </package> <package name="p2" extends="struts-default" namespace="/testNameSpace"> <action name="login" class="com.example.action.Login"> <result>/success.jsp</result> </action> </package> </struts>
說明:
a、 包p1沒有定義namespace,說明p1用的是默認(rèn)空間""
現(xiàn)在有下面的請求:
1、/工程名/login.action
------這個請求對應(yīng)p1包下的action name=login
2、/工程名/testNameSpace/login.action
-----這個請求對應(yīng)p2包下的action name=login
3、/工程名/testNameSpace/login1.action
----這個請求是請求p2包下的信息的,如果struts在檢索了p2包下的所有action后沒有檢索到當(dāng)前請求的login1,這時struts會檢索前一個命名空間,這里是默認(rèn)空間下是否有當(dāng)前請求,檢查發(fā)現(xiàn)存在login1就得到當(dāng)前檢索
這里我有個個人的建議:
無論你的namespace配置或者沒配置,也無論配置啥樣,你在寫跳轉(zhuǎn)的url的時候請你也把
‘/工程名/'帶上,寫成這樣:/工程名/命名空間1/命名空間2/actionName.action這樣寫能保證路徑的正確性,當(dāng)然如果你在寫跳轉(zhuǎn)的時候不發(fā)暈,可以視你的配置情況加或者不加這個!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Shiro:自定義Realm實現(xiàn)權(quán)限管理方式
這篇文章主要介紹了Shiro:自定義Realm實現(xiàn)權(quán)限管理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
Springboot如何實現(xiàn)Web系統(tǒng)License授權(quán)認(rèn)證
這篇文章主要介紹了Springboot如何實現(xiàn)Web系統(tǒng)License授權(quán)認(rèn)證,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05
spring cloud升級到spring boot 2.x/Finchley.RELEASE遇到的坑
這篇文章主要介紹了spring cloud升級到spring boot 2.x/Finchley.RELEASE遇到的坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
springBoot 打war包 程序包com.sun.istack.internal不存在的問題及解決方案
這篇文章主要介紹了springBoot 打war包 程序包com.sun.istack.internal不存在的問題及解決方案,親測試過可以,需要的朋友可以參考下2018-07-07

