美文网首页
Action名称的搜索顺序以及配置中的各项默认值

Action名称的搜索顺序以及配置中的各项默认值

作者: exmexm | 来源:发表于2017-06-28 00:21 被阅读0次
    一、Action名称的搜索顺序

    1、获得请求的URI,例如ul是:http://server/struts2/path1/path2/path3/test.action

    2、首先寻找namespace为/path1/path2/path3的package,如果不存在这个package则执行步骤3;如果存在这个package,则在这个package中寻找名字为test的action,当在该package下寻找不到action时就会跑到默认namespace的package里面寻找action(默认的命名空间为空字符串),如果在默认namespace的package里面还寻找不到该action,页面提示找不到action

    3、寻找namespace为/path1/path2的package,如果不存在这个package,则转到步骤4;如果存在这个package,则在这个package中寻找为test的action,当在该package下寻找不到action时就会跑到默认namespace的package里面寻找action(默认的命名空间为空字符串),如果在默认namespace的package里面还寻找不到该action,页面提示找不到action。

    4、寻找namespace为/path1的package,如果不存在这个package则执行步骤5,如果存在这个package,则在这个package中寻找为test的action,当在该package下寻找不到action时就会跑到默认namespace的package里面寻找action(默认的命名空间为空字符串),如果在默认namespace的package里面还寻找不到该action,页面提示找不到action。

    5、寻找namespace为/的package,如果存在这个package,则在这个package中寻找名字为test的action,当在package中寻找不到action或者不存在该package时,都会去默认的namespace的package里面寻找action,如果还找不到,页面提示找不到action。

    二、Action配置中的各项默认值

    <package name="itcast" namespace="/test" extends="struts-default">
            <action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="execute">
                <result name="success">/WEB-INF/page/hello.jsp</result>
            </action>
        </package>
    

    1、如果配置中没有为action指定class,默认是ActionSupport
    2、如果没有为Action指定method,默认执行Action中的execute方法
    3、如果没有指定result的name属性,默认值为success

    相关文章

      网友评论

          本文标题:Action名称的搜索顺序以及配置中的各项默认值

          本文链接:https://www.haomeiwen.com/subject/cteycxtx.html