struts2配置中Action的name 和package的name和namespace作用
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
struts2配置中Action的name 和package的name和namespace是什么作用??
在struts2 struts.xml 配置中
?<package?name="ajax"?extends="json-default"?namespace="/json">??<action?name="ajaxLogin"?class="com.rg.email.action.AjaxLoginAction">??<!--?返回類型為json?在sjon-default中定義?-->??<result?type="json">?? <!--?????????????????root的值對(duì)應(yīng)要返回的值的屬性??這里的result值即是?對(duì)應(yīng)action中的?result?-->??<param?name="root">result</param>??</result>??</action>??</package>name="ajax"?
namespace="/json"?
name="ajaxLogin"?
這三個(gè)怎么去理解啊 .
----------------------------?
1.package中的name只是一個(gè)標(biāo)識(shí),你可以隨意命名;?
2.action中的name對(duì)應(yīng)你頁(yè)面中的一個(gè)action跳轉(zhuǎn),比如你頁(yè)面有個(gè)表單提交: <form action="struts.xml中action里的name">?
3.namespace是用于區(qū)分包中相同的類,如果沒寫,說明該包為默認(rèn)空間,如果寫了(如這個(gè)例子),那么就說明包ajax的空間為/json。?
namespace實(shí)際上是在包的基礎(chǔ)上對(duì)Action的進(jìn)一步組織和劃分,可以解決Action重名問題,因?yàn)樵诓煌拿臻g中是可以有相同的Action名的,就好比一班有個(gè)叫張三的,二班也有個(gè)叫張三的,當(dāng)我們呼叫某個(gè)張三時(shí),就得帶上“命名空間”,Action也是如此,例子的ajaxLogin就必須通過 /json/ajaxLogin.action的方式來(lái)進(jìn)行調(diào)用。?
ajaxLogin那個(gè)name就是Action的名字,相當(dāng)于上個(gè)例子的“張三”?
包的名字只是作為其他包引用本包的標(biāo)記
轉(zhuǎn)載于:https://my.oschina.net/yongqingfan/blog/531167
總結(jié)
以上是生活随笔為你收集整理的struts2配置中Action的name 和package的name和namespace作用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Application Fundamen
- 下一篇: 使用 PHP 7 给 Web 应用加速