1、原来设置的包声明:

<package name="myPackage" extends="struts-default">
<!-- 定义action -->
<action name="first">
<!-- 定义处理成功的映射页面 -->
<result>/first.jsp</result>
</action> <action name="greeting" class="com.ouyang.action.GreetingAction">
<result>/first.jsp</result>
</action>
</package>

添加 namespace="/"就好

2、添加后的包

<package name="myPackage" extends="struts-default" namespace="/">
<!-- 定义action -->
<action name="first">
<!-- 定义处理成功的映射页面 -->
<result>/first.jsp</result>
</action> <action name="greeting" class="com.ouyang.action.GreetingAction">
<result>/first.jsp</result>
</action>
</package>

在struts1中是没有命名空间这个概念的,通过命名空间我们可以将所有的action配置划分为一个个逻辑单元,每个单元都有它自己的标识前缀。命名控件可以避免action命名的冲突。每个命名空间下有可以有一个叫做”help”的action,并且有着各自不同的实现,当然在同一个命名空间下最好是不要出现两个名字一样的action。当命名空间的前缀出现在浏览器的URI中时,标签会意识到命名空间,因此我们不必将命名空间嵌套在表单和链接中。

默认的命名空间是空字符串””,也就是不设置namespace属性时候的命名空间。我们在匹配一个action的时候,先到它指定的命名空间中去找,如果没有再到这个默认的命名空间中去找。Struts2还支持根命名空间(“/”),当一个request直接请求context path下面的资源时,struts2会首先到跟命名空间下去寻找匹配的action,例如请求是http://server/myapp/bar.action,那么我们首先会去”/”命名空间下去寻找这个action.

最新文章

  1. jQuery如何给body绑定事件?
  2. JAVA用途
  3. 八皇后—Java
  4. Android引用项目出现ClassNotFoundException
  5. extjs表格下的分页条——Ext.grid.Panel 的 pagingtoolbar
  6. OpenJudge 2694 逆波兰表达式
  7. chmod 命令
  8. cf A. Jeff and Digits
  9. bat命令学习笔记
  10. 使用RadioGroup与RadioButton实现多选一
  11. 用C#实现DES加密解密解决URL参数明文的问题
  12. Spring / Hibernate 应用性能调优
  13. 《Unity3D/2D游戏开发从0到1》正式出版发行
  14. [总结]WEB前端常用命令
  15. smarty模板的内置函数
  16. python 自动化测试Jenkins 持续集成
  17. win8 IIS配置
  18. django中的字段类型
  19. Axure RP Extension for Chrome经常损坏
  20. ActiveMQ笔记之点对点队列(Point-to-Point)

热门文章

  1. Docker相关知识整理
  2. Vuejs vm对象详解
  3. 性能测试工具Locust,一个开源性能测试工具
  4. 新增async
  5. Cannot assign “A1”: “B1” must be a “C1” instance.
  6. yield表达式形式
  7. truncate table很慢之enq: RO - fast object reuse和local write wait等待分析
  8. 【题解】bzoj 4327 JSOI2012 玄武密码
  9. 详解重定向(HTTP状态码301/302/303/307/408)附例子
  10. topcoder srm 490 div1