新建一个struts2项目,命名为struts2。按照如下XML文件配置一个Action:
1
<package name="hello" namespace="/action" extends="struts-default">
2
    <action name="helloworld" class="com.xiaobai.struts.action.HelloWorldAction" method="execute">
3
    <result name="success">/WEB-INF/page/hello.jsp</result>
4
    </action>
5
</package> 
将应用部署,访问如下路径:
http://localhost:8080/struts2/action/sdf/dsf/32/d/helloworld 依然可以访问到Action。
这主要是因为Struts2对Action名称的搜索是按照一定顺序进行的。以上面的情况为例:
1.struts2首先搜索命名空间为/action/sdf/dsf/32/d的包是否存在,存在的情况下,是否有helloworld这个Action;
2.搜索命名空间为/action/sdf/dsf/32的包是否存在,存在的情况下,是否有helloworld这个Action;
3.搜索命名空间为/action/sdf/dsf的包是否存在,存在的情况下,是否有helloworld这个Action;
4.搜索命名空间为/action/sdf的包是否存在,存在的情况下,是否有helloworld这个Action;
5.搜索命名空间为/action的包是否存在。在这种情况下能够搜索到,因此,可以访问到helloworld这个Action。
此外,如果按照这种搜索顺序搜索,发现所有的包均不存在,那么struts2则会到命名空间为""(默认命名空间)的包下面去找helloworld这个Action。
	
posted on 2010-08-27 21:02 
wawlian 阅读(574) 
评论(2)  编辑  收藏  所属分类: 
Struts2