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