Struts2学习笔记三——Namespace与访问路径
2017-05-03 23:22
471 查看
Namespace决定了action的访问路径
1,如果Namespace不写(默认为""(空))或者定义为""或者"/",表示可以接受以下路径的action。
下面路径都能访问
[b]2,如果Namespace定义为"/path1",访问路径为/action名称、/path1/action名称(Struts2中.action可以省略)
[/b]
异常
[b]3,如果Namespace路径嵌套很多[/b]
[b]如:path1/path2/path3与" "
[/b]
[b]
[/b]
[b]如:/path1/path2 与/path3
[/b]
如:/path1/path2 与 /path1
总结:首先匹配全路径,如果没有,就先匹配/path1/path2(减少最外一个),
如果还是没有符合/path1/path2,继续匹配/path1,
如果还是没有符合/path1,报错,
如果路径匹配就会进入这个包package寻找action名匹配的,没有找到同上继续查找
1,如果Namespace不写(默认为""(空))或者定义为""或者"/",表示可以接受以下路径的action。
<package name="default1" extends="struts-default"> <action name="namespace" class="action.NamespaceAction"> <result name="success">/success.jsp</result> </action> </package>
public class NamespaceAction { public String execute() { System.out.println("this is NamespaceAction"); return "success"; } }
下面路径都能访问
[b]2,如果Namespace定义为"/path1",访问路径为/action名称、/path1/action名称(Struts2中.action可以省略)
[/b]
<package name="default1" namespace="/aaa" extends="struts-default"> <action name="namespace" class="action.NamespaceAction"> <result name="success">/success.jsp</result> </action> </package>
异常
[b]3,如果Namespace路径嵌套很多[/b]
[b]如:path1/path2/path3与" "
[/b]
<package name="default" namespace="" extends="struts-default"> <action name="namespace" class="action.NamespaceAction"> <result name="success">/success.jsp</result> </action> </package> <package name="default1" namespace="/aaa/bbb/ccc" extends="struts-default"> <action name="namespace" class="action.Namespace1Action"> <result name="success">/success1.jsp</result> </action> </package>
success.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> this is NamespceAction,namespace="" </body> </html>
success1.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> this is Namespce1Action,namespace="/aaa/bbb/ccc" </body> </html>NamespaceAction.java
public class NamespaceAction { public String execute() { return "success"; } }[b]NamespaceAction1.java[/b]
public class Namespace1Action { public String execute() { return "success"; } }
[b]
[/b]
[b]如:/path1/path2 与/path3
[/b]
<package name="default" namespace="/bbb/ccc" extends="struts-default"> <action name="namespace" class="action.NamespaceAction"> <result name="success">/success.jsp</result> </action> </package> <package name="default1" namespace="/aaa" extends="struts-default"> <action name="namespace" class="action.Namespace1Action"> <result name="success">/success1.jsp</result> </action> </package>
如:/path1/path2 与 /path1
<package name="default" namespace="/aaa/bbb" extends="struts-default"> <action name="namespace" class="action.NamespaceAction"> <result name="success">/success.jsp</result> </action> </package> <package name="default1" namespace="/aaa" extends="struts-default"> <action name="namespace" class="action.Namespace1Action"> <result name="success">/success1.jsp</result> </action> </package>
总结:首先匹配全路径,如果没有,就先匹配/path1/path2(减少最外一个),
如果还是没有符合/path1/path2,继续匹配/path1,
如果还是没有符合/path1,报错,
如果路径匹配就会进入这个包package寻找action名匹配的,没有找到同上继续查找
相关文章推荐
- 关于Struts2 namespace 的学习笔记(DMI动态方法调用)
- Struts2学习 路径访问
- Struts2学习笔记之域属性的添加和访问
- Struts2学习笔记之package元素中的namespace搜索规则
- 【Struts2学习笔记(8)】访问或添加request/session/application属性获取HttpServletRequest / HttpSession / ServletContex
- Struts2-学习笔记系列(4)-访问servlet api
- Struts2_学习笔记(二)--------Namespace、Action、Path、
- 【Struts2学习笔记(10)】自定义拦截器管理权限访问
- Struts2_学习笔记(五)----访问Web元素、include、默认Action、Action总结
- Struts2学习笔记之域属性的添加和访问
- [原创]java WEB学习笔记69:Struts2 学习之路-- 消息处理与国际化,概述,配置国际资源文件,访问国际化消息,通过超链接切换语言
- Struts2_学习笔记(二)--------Namespace、Action、Path、ActionMethod_DMI、ActionWildcard
- struts2学习笔记之六(Action访问servlet的API以及复制项目小技巧)
- Struts2 学习笔记 09 访问Web元素
- Struts2 学习笔记 —— 02 —— Namespace
- struts2中关于package的namespace和访问路径嵌套的处理关系
- Struts2学习笔记----访问Servlet API
- [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)
- .NET2.0学习笔记(一)访问母版页中的控件
- Asp.net Ajax 学习笔记7 客户端访问WebService(中)