Struts2命名空間配置和解釋
Struts 2的命名空間是一個新的概念,用來處理多個模塊。由下式給出一個命名空間的每個模塊。此外,它還可以用來避免位於不同的模塊相同的操作名稱之間的衝突。
看下面的一張圖來了解一個URL匹配Struts 2的動作命名空間。
1. 命名空間配置
讓我們通過一個Struts2的命名空間配置的例子來了解它是如何與URL和文件夾相匹配。
P.S 包中的「name」不會影響結果,只是給一個有意義的名字。
struts.xml
**
<package name="common" namespace="/common" extends="struts-default">
<action name="SayWelcome">
<result>/common/pages/welcome.jsp</result>
</action>
</package>
<package name="user" namespace="/user" extends="struts-default">
<action name="SayWelcome">
<result>/common/user/welcome.jsp</result>
</action>
</package>
**
Struts 2的動作命名空間映射到文件夾結構。
2. JSP視圖頁面
3 JSP頁面視圖具有相同的文件名,但是在不同的模塊位置。
根 – pages/welcome.jsp
Struts2命名空間示例
Welcome - namespace = "root"
Common 模塊 – common/pages/welcome.jsp
Struts2命名空間示例
Welcome - namespace = "common"
User 模塊 – user/pages/welcome.jsp
Struts2命名空間示例
<h4>Welcome - namespace = "user"</h4>
3. 映射 – 如何工作?
示例 1
URL : http://localhost:8080/Struts2Example/SayWelcome.action
將匹配根命名空間。
<package name="default" namespace="/" extends="struts-default">
<action name="SayWelcome">
<result>/pages/welcome.jsp</result>
</action>
</package>
這會顯示 pages/welcome.jsp 頁面的內容
示例 2
URL : http://localhost:8080/Struts2Example/common/SayWelcome.action
這會匹配 common 命名空間的內容:
<package name="common" namespace="/common" extends="struts-default">
<action name="SayWelcome">
<result>/common/pages/welcome.jsp</result>
</action>
</package>
這會顯示 common/pages/welcome.jsp 頁面的內容
示例 3
URL : http://localhost:8080/Struts2Example/user/SayWelcome.action
這會匹配 common 命名空間的內容:
這會顯示 user/pages/welcome.jsp 頁面的內容.