struts2配置中Action的name 和package的name和namespace做用

struts2配置中Action的name 和package的name和namespace是什麼做用  java

在struts2 struts.xml 配置中ajax

 <package name="ajax" extends="json-default" namespace="/json">  
        <action name="ajaxLogin" class="com.rg.email.action.AjaxLoginAction">  
  
            <!-- 返回類型爲json 在sjon-default中定義 -->  
            <result type="json">  
<!--                 root的值對應要返回的值的屬性  
                這裏的result值便是 對應action中的 result -->  
                <param name="root">result</param>  
            </result>  
        </action>  
    </package>

name="ajax" 
namespace="/json" 
name="ajaxLogin" 
這三個怎麼去理解啊 .

---------------------------- 
1.package中的name只是一個標識,你能夠隨意命名; 
2.action中的name對應你頁面中的一個action跳轉,好比你頁面有個表單提交: <form action="struts.xml中action裏的name"> 
3.namespace是用於區分包中相同的類,若是沒寫,說明該包爲默認空間,若是寫了(如這個例子),那麼就說明包ajax的空間爲/json。 

namespace其實是在包的基礎上對Action的進一步組織和劃分,能夠解決Action重名問題,由於在不一樣的命名空間中是能夠有相同的Action名的,就比如一班有個叫張三的,二班也有個叫張三的,當咱們呼叫某個張三時,就得帶上「命名空間」,Action也是如此,例子的ajaxLogin就必須經過 /json/ajaxLogin.action的方式來進行調用。 

ajaxLogin那個name就是Action的名字,至關於上個例子的「張三」 

包的名字只是做爲其餘包引用本包的標記
json

相關文章
相關標籤/搜索