Action名称的搜索顺序
1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action
2.首先寻找namespace为/path1/path2/path3的package,如果不存在这个package则执行步骤3;如果存在这个package,则在这个package中寻找名字为test的action,当在该package下寻找不到action 时就会直接跑到默认namaspace的package里面去寻找action(默认的命名空间为空字符串“” ) ,如果在默认namaspace的package里面还寻找不到该action,页面提示找不到action
3.寻找namespace为/path1/path2的package,如果不存在这个package,则转至步骤4;如果存在这个package,则在这个package中寻找名字为test的action,当在该package中寻找不到action 时就会直接跑到默认namaspace的package里面去找名字为test的action ,在默认namaspace的package里面还寻找不到该action,页面提示找不到action
4.寻找namespace为/path1的package,如果不存在这个package则执行步骤5;如果存在这个package,则在这个package中寻找名字为test的action,当在该package中寻找不到action 时就会直接跑到默认na
本文详细阐述了Struts2中Action的搜索顺序,从URI开始,逐级查找namespace对应的package并搜索Action。同时,介绍了Action配置的默认值,如无class指定则默认为ActionSupport,无method指定则执行execute()方法,无result name则默认为success。此外,讨论了Action中result的转发类型和全局result配置。最后,提到了Action属性注入和Struts2处理请求的后缀设置。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



