传智播客strus2源码解析~~~超NBstruts2错误提示后chain操作
来源:互联网 发布:ipad登陆淘宝卖家在哪 编辑:程序博客网 时间:2024/06/05 11:38
第二个问题:
先对strus2的默认拦截器原理说下
官方文档这两行最能表达我的意思,excludeMethods参数是设置该拦截器忽略哪些方法,下面反之。这简单原理相信您非常了解了,来看下我们这里出现的情况吧!
这是最普遍的业务逻辑,
开始选中的被取消了,并且没有“用户名不能为空”的错误信息。
说明:
为什么会错误信息没了呢?同样经过validate、workflow拦截器后,跳转input试图,一但我们重定向,则strus2框架会为我们创建一个新的UserAction对象,则fieldErrors、UserBean的hobby数组都为null了,所以错误信息、开始选中的都显示不出来了。
情况三:
相信您已经有解决方案了,把input试图的type设为chain类型,chain类型的作用是,让该请求重新被拦截器拦截,好我们来修改:
大概意思是:如果你要拷贝当前的action属性到当前chain上的action,你需要应用Chaining拦截器,该拦截器会拷贝请求上的parameters和value stack传递到目标action上,原始的action会保存valueStack,允许目标action访问前面所有action的valueStack作用域上的属性,同样对于chain的result结果试图如jsp、velocity界面同样可以访问这些属性。
=====================================================
所以当我们以chain方式访问registerUserUI.action,原先action的valueStack上的fieldErrors同样被拷贝到当前UserAction对象fieldErrors字段里,在经过workflow拦截器后,又发现有错误,同样调用input试图,进而又去调用registerUserUI.action,经过workflow拦截器后,又发现有错误,又去调用input试图,进而递归调用。
现在该怎样解决呢?我们要做的就是,让他调用registerUserUI.action时被workflow拦截器拦截后,不再验证是否有错误,前面说到过excludeMethods参数,我们查看workflow拦截器
虽然chain方式对于完成这种业务很方便,官方提示我们谨慎使用,过度使用会造成程序的代码混乱,到时还是根据业务来决定。
- 传智播客strus2源码解析~~~超NBstruts2错误提示后chain操作
- 传智播客strus2源码解析~~~超NBstruts2错误提示位置修改
- 传智播客strus2源码解析~~~超NBstruts2错误提示位置修改--环境搭建
- strus2超简单实例
- Rxjava2源码解析超详细~~~
- oracle错误提示解析
- 模板操作错误提示
- 错误1error LNK2019: 无法解析的外部符号 "public: __thiscall chain<int>::~chain<int>(void)" (??1?$chain@H@@QAE@
- 下载Android源码提示错误
- 超详细Retrofit源码解析(一)
- 超详细Retrofit源码解析(二)
- Spring 源码解析错误来源
- 解决VM安装VMTools后错误提示
- VB 日志 弹出错误提示后继续
- drush安装后出现错误提示解决办法
- 设置ip转发提示iptables: No chain/target/match by that name错误的解决方法
- 设置ip转发提示iptables: No chain/target/match by that name错误的解决方法
- 设置IP转发提示iptables: No chain/target/match by that name错误的解决方法
- 几道线段树的代码
- 传智播客strus2源码解析~~~超NBstruts2错误提示位置修改
- 关于工作流的思考
- 内存分配——realloc()函数的使用
- java实现whois域名查询
- 传智播客strus2源码解析~~~超NBstruts2错误提示后chain操作
- Eclipse3.3中安装VE,emf,GEF插件
- C++面试题(转)
- 传智播客毕业第一周复习jbpmg工作流
- 日志文件满而造成SQL数据库无法写入文件处理方法
- 在ASP中UBOUND与LUBOUND的用法
- 获取编辑中的DataGridView.CurrentCell的值,并在CellValueChanged中做判断。
- commons-fileupload-1.2.1实现文件上传
- 【转贴-过滤】N款看上去很美的ECLIPSE插件