<package name="user" namespace="/user" extends="struts-default">
         <action name="logon" class="cn.net.cipe.ots.user.actions.UserAction" method="logon">
            <result name="success">/JSP/main.jsp</result>
            <result name="input">/JSP/login.jsp</result>
            <result name="error">/JSP/login.jsp</result>
        </action>

</package>

说明:

此user的意思是WebRoot下必须有一个名为user的文件夹。

那么如果在jsp里这样三种写法:

第一种

<form action="logon.action" >

.....

</form>

第二种

<form action="/user/logon.action" >

.....

</form>

第三种

<s:form action="logon.action" namespace="/user" >

.....

</s:form>

第一种写法可以通过测试,原因是FilterDispatcher会去package的根目录及下面的子目录去搜logon这个action

第二种写法是正规写法,可以通过测试,因为FilterDispatcher把form的跳转分解为logon.action和nanespace=/user,然后在package下直接命中namespace为"/user"的那个包。

第三种写法,很不幸,不能通过测试,原因是s:form这个标签居然不会在生成html页面时候把namespace的值给加到form 的action属性里面去。。。。。

那么与第三种情况正相反,如果你用s:url的话,一定要写namespace,见下例:

<s:url href="/user/logon.action"/>这种写法极容易出错,原因是不写namespace的话,产生html代码时候很混乱

<s:url href="logon.action" namespace="/user"/>正确写法!

最新文章

  1. CSS 设置背景透明度,不影响子元素
  2. swift block
  3. 100722A
  4. 提供给Android和iOS开发人员的UWP移植向导
  5. Linux常见练习题
  6. [html]兼容 IE6 IE7 的简单网页框架
  7. jsp中自定义Taglib案例
  8. map初始化定时器
  9. oracle字符集
  10. XtraGrid滚轮翻页
  11. 初始MyBatis
  12. [Linux] memache打印所有的key
  13. PHP 依赖注入和控制反转再谈(二)
  14. django 前端 js让一段文本中包含的网址可以被访问
  15. Tomcat不加项目名称访问设置
  16. Mvc项目实例 MvcMusicStore 五
  17. Java并发编程:volatile关键字
  18. Nginx的介绍和安装详解
  19. [Angularjs]ng-bind-html指令
  20. Lua中的loadfile,dofile,require使用,最后还有调试

热门文章

  1. (使用通过混淆+自己第三方保留成功混淆)AndroidStudio 混淆打包
  2. day6 ConfigParser模块 yaml模块
  3. abtest分流随机链接方法(javascript)
  4. 002 使用Appender扩展logger框架
  5. 有关FPGA
  6. MySQL Insert语句单个批次数量过多导致的CPU性能问题分析
  7. 使用DNSPod域名解析
  8. CSS基础-DAY1
  9. type=&quot;submit&quot;表单提交理解
  10. Hibernate与Mybatis对比