Struts2中Namespace的使用
Struts2中Namespace的使用
开源俱乐部 发表于4年前
Struts2中Namespace的使用
  • 发表于 4年前
  • 阅读 53
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

一、NameSpace介绍

在struts.xml中,配置的时候,可能会遇到不同包中action名字冲突的问题,这个时候就需要用到namespace来解决命名冲突。

二、Namespace作用

解决命名冲突。

三、Namespace配置示例

在struts.xml中,默认我们配置如下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">

        <default-action-ref name="index" />
        <global-results>
            <result name="error">/error.jsp</result>
        </global-results>

        <global-exception-mappings>
            <exception-mapping exception="java.lang.Exception" result="error"/>
        </global-exception-mappings>

        <action name="*">
            <result>
               /{1}.jsp
            </result>
        </action>
    </package>

    <!-- Add packages here -->

</struts>

        我们将

<package name="default" namespace="/" extends="struts-default">

        改为

<package name="default" namespace="/aaa/bbb" extends="struts-default">

        这时候加上命名空间就可以访问了,形如:

        http://kevin.mshome.net:8080/test1/aaa/bbb/index.action

四、知识扩展

(1)struts2对命名空间的容错性

        当我们输入http://kevin.mshome.net:8080/test1/aaa/bbb/ccc/index.action时,发现也可以正常访问。这是由于struts2对命名空间的处理有一定的容错性。

        但是不推荐我们在开发中利用struts的容错性进行开发。推荐尽量不要出错。

共有 人打赏支持
粉丝 10
博文 39
码字总数 31422
×
开源俱乐部
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: