Struts 2 Namespace configuration example and explanation
来源:互联网 发布:软件测试的含义 编辑:程序博客网 时间:2024/06/05 14:14
Struts 2 Namespace is a new concept to handle the multiple modules by given a namespace to each module. In addition, it can used to avoid conflicts between same action names located at different modules.
Struts 2 Namespaces are the equivalent of Struts 1 multiple modules
See this picture to understand how a URL match to Struts 2 action namespace.
1. Namespace configuration
Let go through a Struts 2 namescape configuration example to know how it match with URL and folder.
P.S The package “name” will not affect the result, just give a meaningful name.
struts.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><package name="default" namespace="/" extends="struts-default"> <action name="SayWelcome"> <result>pages/welcome.jsp</result> </action></package><package name="common" namespace="/common" extends="struts-default"> <action name="SayWelcome"> <result>pages/welcome.jsp</result> </action></package><package name="user" namespace="/user" extends="struts-default"> <action name="SayWelcome"> <result>pages/welcome.jsp</result> </action></package></struts>
Struts 2 action namespace map to folder structure.
2. JSP View Pages
3 JSP view pages with same file name but locate at different modules.
Root – webapp/pages/welcome.jsp
Struts 2 Namespace Example%MINIFYHTMLe21cb27b748e384196124101d862b98e2% %MINIFYHTMLe21cb27b748e384196124101d862b98e3%Welcome - namespace = "root"
Common module – webapp/common/pages/welcome.jsp
Struts 2 Namespace ExampleWelcome - namespace = "common"
User module – webapp/user/pages/welcome.jsp
Struts 2 Namespace ExampleWelcome - namespace = "user"
3. Mapping – How it work?
Example 1
URL : http://localhost:8080/Struts2Example/SayWelcome.action
Will match the root namespace.
<package name="default" namespace="/" extends="struts-default"> <action name="SayWelcome"> <result>pages/welcome.jsp</result> </action></package>
And display the content of webapp/pages/welcome.jsp
.
Example 2
URL : http://localhost:8080/Struts2Example/common/SayWelcome.action
Will match the common namespace.
<package name="common" namespace="/common" extends="struts-default"> <action name="SayWelcome"> <result>pages/welcome.jsp</result> </action></package>
And display the content of webapp/common/pages/welcome.jsp
.
Example 3
URL : http://localhost:8080/Struts2Example/user/SayWelcome.action
Will match the user namespace.
<package name="user" namespace="/user" extends="struts-default"> <action name="SayWelcome"> <result>pages/welcome.jsp</result> </action></package>
And display the content of webapp/user/pages/welcome.jsp
.
- Struts 2 Namespace configuration example and explanation
- Struts 2 Namespace configuration example and explanation
- Struts 2 Namespace configuration example and explanation
- inverse = “true” example and explanation
- inverse = “true” example and explanation
- Struts – Multiple configuration files example
- Struts 2 File Upload and Save Tutorial with Example
- Struts 2 ModelDriven example
- Struts 2 Configuration Files
- Java Thread Join Example with Explanation
- Hibernate 5 + Log4j 2 configuration example
- 10.Struts 2 Actions Example
- Struts 2 Auto Completer Example
- Struts 2 Hello World Example
- Struts 2 Hello World Example
- Struts 2 @ResultPath annotation example
- Struts 2 Hello World Example
- Struts 2 @ResultPath annotation example
- jQuery中JSONP
- Linux一些常用命令
- 都说人生都要有一场 不顾一切的爱情 和 一场说走就走的旅行;怎么我好像是有一场 不顾一切的旅行 和 一场说走就走的爱情;
- Runnable jar添加资源及读取
- updateHeaderShade调用堆栈情况分析
- Struts 2 Namespace configuration example and explanation
- C#操作注册表
- QT自动打包依赖dll
- IntelliJ Terminal git log 过长问题
- STL的多线程安全问题
- Android多媒体之音频、视频录制MediaRecorder
- boss给的课后作业:敏捷开发
- 【Android】Android清除本地数据缓存代码
- HDR&Filmic Tonemapping Operators