首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Struts 2 命名空間機制詳解與實戰配置

     編輯:Java 相關知識

為什麼需要命名空間?

Web 應用中常出現同名 Action(如多個模組都有 login),命名空間提供隔離機制,避免衝突。

配置對比

無命名空間(預設空字串)

<package name="org" extends="struts-default">
    <action name="login" class="org.LoginAction">...</action>
    <action name="getUsers" class="org.GetUsersAction">...</action>
</package>

訪問:https://localhost:8080/strutsdemo/getUsers.action

有命名空間

<package name="org" extends="struts-default">
    <action name="login" class="org.LoginAction">...</action>
</package>

<package name="get" extends="struts-default" namespace="/apple">
    <action name="getUsers" class="org.GetUsersAction">...</action>
</package>

訪問:https://localhost:8080/strutsdemo/apple/getUsers.action

關鍵規則

  1. namespace 屬性值以 / 開頭(如 /apple),根命名空間為 / 或空字串。
  2. 同一命名空間下 Action name 必須唯一;不同命名空間可重名。
  3. <s:form namespace="/apple"> 或 <s:url namespace="/apple" action="getUsers"/> 生成正確 URL。
  4. Action 類可跨命名空間複用(如例中 GetUsersAction)。

實戰建議

  • 按功能模組劃分命名空間:/user, /order, /admin。
  • REST 風格可用 /api/v1 作為命名空間前綴。
  • 避免過深層次,一到兩級足矣。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved