struts2配置中Action的name和package的name和namespace的用法,以及extends属性

来源:互联网 发布:windows更新后c盘变小 编辑:程序博客网 时间:2024/05/16 07:07

在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 

这三个怎么去理解啊

----------------------------

1.package中的name只是一个标识,你可以随意命名;

2.action中的name对应你页面中的一个action跳转,比如你页面有个表单提交:  form action= struts.xml中action里的name  

3.namespace是用于区分包中相同的类,如果没写,说明该包为默认空间,如果写了(如你的这个例子),那么就说明包caixuedong的空间为/core。

namespace实际上是在包的基础上对Action的进一步组织和划分,可以解决Action重名问题,因为在不同的命名空间中是可以有相同的Action名的,就好比一班有个叫张三的,

二班也有个叫张三的,当我们呼叫某个张三时,就得带上“命名空间”,Action也是如此,例子的greeting就必须通过 /core/greeting.action的方式来进行调用。

greeting那个name就是Action的名字,相当于上个例子的“张三”

包的名字只是作为其他包引用本包的标记 

----------------------------------------------------------------------------------------------------

extends:类似于java中的继承特征,extends="struts-default"就是继承struts-default.xml,它里面定义了许多跳转类型、拦截器等一些常用的东西

原创粉丝点击