Struts2 Action中调用get***命名方法,并且返回json,执行出错
来源:互联网 发布:各国的创世神话 知乎 编辑:程序博客网 时间:2024/06/06 02:43
今天在Struts2的Action 有个页面数据加载的init****(就这样叫吧)方法,主要点击菜单的时候加载页面数据,然后我又写了个方法叫get****ById(勉强就叫这个吧),这个方法是点击某条数据的时候获取ID,并查找子项。但是当我写好了之后,我发现页面数据出错了,因为点击菜单时,并没有执行init****的页面加载方法,而是直接加载了get****ById,但是我没有点击任何东西,也没有进行页面操作,只是点击菜单进入首页,应该执行init****方法,并且response的请求也是”项目名/模块名!init****.action”,但却执行另一个没有调用的方法,我曾一度认为是前台页面JS写错了,后来我去掉调用get****ById的JS后也一样的结果。我开始怀疑是后台类的继承出错了,但是当我将独立开来不带继承的时候一样,也是不执行init****只执行get****ById。
后来我实在没辙了,干脆换个名字试试,换成Query****ById,然后奇迹发生了,数据竟然正常了。
后来我百度了一下,发现很多人也有这样的问题,虽然没有找到理想的答案,但是自己记录一下。
所以我建议还是尽量不要在Struts2 的 Action 中使用getXXXXX的方法,避免出现不必要的错误
但是这个问题只出现在返回JSON数据的时候,如果是返回页面的话又不会出现这个问题
比較滿意的答案:struts2的实现原理可能就是在初始化action类之后就会调用已get和set开头的所有方法,因此导致了上面的错误。
阅读全文
0 0
- Struts2 Action中调用get***命名方法,并且返回json,执行出错
- Struts2中Action返回Json
- struts2中Action中返回Json数据
- Struts2中Action返回Json串
- struts2中action返回"json"字符串
- Struts2 action通过struts2返回json方法(一)
- struts2 配置 jquery ajax 调用 action 返回JSON 数据
- struts2的action中方法重复执行
- Struts2中Action中动态调用,为什么出错了???
- struts2 Action中方法不要以get和set开头,否则会被struts调用
- struts2 ,action,返回JSON对象
- struts2 action返回json格式
- Struts返回Json 格式result时action中方法调用两次
- struts2 中action的动态方法调用
- struts2 动态调用action中方法
- Struts2中Action的动态调用方法
- Struts2中调用Action的方法
- Struts2中Action类的方法调用
- Ubuntu 16.04下安装以太坊编译环境以及设置合约功能(支持geth 1.6以及solc 0.4.16版本以上)
- invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific
- Java中String.format()使用
- HDU 1171 Big Event in HDU(01背包)
- Statement、PreparedStatement和CallableStatement
- Struts2 Action中调用get***命名方法,并且返回json,执行出错
- mysql 提示表不存在的解决方法error: 1146: Table doesn't exist
- shell脚本搭建容器云(-)
- ortp库使用入门
- AOP面向切面编程
- JAVA--浅谈java中间缓存变量机制---(j++和++j的区别)
- python学习——tuple
- 读书笔记
- 堆排序及python实现