Structs2 命名空间
2016-05-22 13:11
176 查看
在学习structs2的过程中,遇到了namsapce,虽然比较好理解,但是在使用的过程中还是遇到些问题,便将其记录下来。
作用:
为了解决包含同一个action的问题,在相同的命名空间里不能存在相同的action,但是不同的命名空间里,可以存在相同的action。
**须知:**Structs2不支持单独为action设置命名空间,而是在包Package中指定命名空间,如果不指定的话,默认在默认的命名空间下。默认的命名空间为”“,可以接收属于路径下的action。
示例1:
如果请求为/login.action 那么系统会首先查找命名空间为test的action,如果在这个命名空间找到相对应的action,则使用该类处理请求。否则系统将在默认命名空间里查找,找到则使用该类处理,否则系统错误。
这种方式namespace使用”/” 和默认的都行。
示例2:
jsp:
structs2:
示例2 由于你访问的是/test/login.action 所以你在进行action映射的时候需要指定命名空间为/test,–就像访问包下的类一样。
当然示例二 也可以使用默认的namespace ,或者使用根”/”。
作用:
为了解决包含同一个action的问题,在相同的命名空间里不能存在相同的action,但是不同的命名空间里,可以存在相同的action。
**须知:**Structs2不支持单独为action设置命名空间,而是在包Package中指定命名空间,如果不指定的话,默认在默认的命名空间下。默认的命名空间为”“,可以接收属于路径下的action。
示例1:
如果请求为/login.action 那么系统会首先查找命名空间为test的action,如果在这个命名空间找到相对应的action,则使用该类处理请求。否则系统将在默认命名空间里查找,找到则使用该类处理,否则系统错误。
这种方式namespace使用”/” 和默认的都行。
示例2:
jsp:
<form action="test/login.action" method="post"> 用户名: <!-- 参数名和action中的属性名一样 --> <input type=text name=user.username> <br> 密 码: <input type=password name=user.password> <br> <input type=submit name=subm value="提交"> <input type=reset name=reset value="取消"> </form>
structs2:
<package name="actions" namespace="/test" extends="struts-default"> <!-- 定义Action(login.action) --> <action name="login" class="org.action.UserAction"> <!-- 定义转发路径对应的字符串名 --> <result name="success">/success.jsp</result> <result name="error">/error.jsp</result> </action> </package>
示例2 由于你访问的是/test/login.action 所以你在进行action映射的时候需要指定命名空间为/test,–就像访问包下的类一样。
当然示例二 也可以使用默认的namespace ,或者使用根”/”。
相关文章推荐
- C++编程中的命名空间基本知识讲解
- C++命名空间实例解析
- php命名空间学习详解
- js命名空间写法示例
- JavaScript创建命名空间的5种写法
- Javascript学习笔记之函数篇(六) : 作用域与命名空间
- c# 命名空间和程序集
- 理运用命名空间让js不产生冲突避免全局变量的泛滥
- PHP 5.3新特性命名空间规则解析及高级功能
- .aspx中的命名空间设置实现代码
- javascript 类和命名空间的模拟代码
- javascript 命名空间以提高代码重用性
- java 命名空间 命名规则第1/2页
- 浅谈几种常见语言的命名空间(Namespace)
- js关于命名空间的函数实例
- C#命名空间与java包的区别分析
- thinkphp autoload 命名空间自定义 namespace
- PHP中的命名空间相关概念浅析
- PHP命名空间(namespace)的使用基础及示例
- PHP中的命名空间详细介绍