`

Stuts2 包(package)和命名空间(namespace)的设置理解

 
阅读更多
关于包的继承
为何要有继承呢,原因还是为了公用。子包可以继承父包里的东西,
- including all interceptor, interceptor-stack, and action configurations.
包括所有的拦截器,拦截器栈,action的配置。

我们自定义的包一般都要继承struts-default。这点很重要,因为要用到一些默认的配置。拦截器,转换器,result类型声明等。

命名空间
1)Default  Namespace
The default namespace is "" - an empty string.
默认的命名空间除了可以直接访问外,在其他空间访问一个地址例如/context/a/h1.action 但在a命名空间下没有找到h1.action,这个时候,会去默认命名空间下去找h1这个action。如果找到返回;找不到,返回错误

2)root Namespace
A root namespace ("/") is also supported.
/context/h1.action 如果访问这个action先搜索root下,没找到的话,会搜索默认的命名空间。

3)一般的命名空间了。eg
<package name="default">
    <action name="foo" class="mypackage.simpleAction">
        <result name="success" type="dispatcher">greeting.jsp</result>
    </action>

    <action name="bar" class="mypackage.simpleAction">
        <result name="success" type="dispatcher">bar1.jsp</result>
    </action>
</package>

<package name="mypackage1" namespace="/">
    <action name="moo" class="mypackage.simpleAction">
        <result name="success" type="dispatcher">moo.jsp</result>
    </action>
</package>

<package name="mypackage2" namespace="/barspace">
    <action name="bar" class="mypackage.simpleAction">
        <result name="success" type="dispatcher">bar2.jsp</result>
    </action>
</package>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics