在struts2 struts.xml 配置中 <struts> <package name="caixuedong" extends="struts-default" namespace="/core"> <action name="greeting" class="com.tarena.struts2.action.GreetingAction" > <result name="success">/core/greeting.jsp </result> </action> </package> </struts> name="caixuedong" namespace="/core" name="greeting" 這三個(gè)怎么去理解啊 ---------------------------- 1.package中的name只是一個(gè)標(biāo)識(shí),你可以隨意命名; 2.action中的name對(duì)應(yīng)你頁面中的一個(gè)action跳轉(zhuǎn),比如你頁面有個(gè)表單提交: <form action="struts.xml中action里的name"> 3.namespace是用于區(qū)分包中相同的類,如果沒寫,說明該包為默認(rèn)空間,如果寫了(如你的這個(gè)例子),那么就說明包c(diǎn)aixuedong的空間為/core。 namespace實(shí)際上是在包的基礎(chǔ)上對(duì)Action的進(jìn)一步組織和劃分,可以解決Action重名問題,因?yàn)樵诓煌拿臻g中是可以有相同的Action名的,就好比一班有個(gè)叫張三的,二班也有個(gè)叫張三的,當(dāng)我們呼叫某個(gè)張三時(shí),就得帶上“命名空間”,Action也是如此,例子的greeting就必須通過 /core/greeting.action的方式來進(jìn)行調(diào)用。 greeting那個(gè)name就是Action的名字,相當(dāng)于上個(gè)例子的“張三” 包的名字只是作為其他包引用本包的標(biāo)記 |
聯(lián)系客服