作者sthermit ( )
看板java
标题[问题] Struts2 接收 HTTP GET参数的问题
时间Tue Jan 22 23:47:24 2019
各位大大
小弟今天遇到一个问题,google很久没发现可能的答案
或许是没有打到关键字
我做了一个Struts2的网站
有个action负责接收用Get方法送过来的请求
预计接收三个变数
username、password、imsi
照教学跟过去一样设定3个变数getter跟setter
Struts 就可以自动注入
今天出现问题,看Log发现是
Action 有时候不会对全部的变数进行Setter
第一个人送资料过来, ?username=A&password=A&imsi=aaaaaaaa
username = A
password = A
imsi = aaaaaaaa
之後第二个人或是第二次送资料 ?username=B&password=B&imsi=bbbbbbbb
会出现只有username被注入,其他变数维持上一次
username = B
password = A
imsi = aaaaaaaa
请问这种状况是不是那边缓存然後Struts判断不用注入?
该如何修正?
有google到一个词ValueStack,但是好像没有清除值的方式
或是放弃自动注入,自己从Get的参数取得?
20190123回覆
後面加上QueryString的log,
才发现问题,是对方的参数没给足,只有给username
然後没有新值的 password跟imsi,struts 会使用上一次的值
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.162.223.249
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1548172048.A.AE3.html
1F:推 kyleJ: 初学的话建议可以玩玩spring mvc,spring.io上有很多范例 01/23 00:17
2F:→ kyleJ: ,但若是为了维护旧专案就没办法了XD 01/23 00:17
新的我都用Spring MVC建了。这是旧专案...现在就维护看看,不然只能重新做一个QQ
※ 编辑: sthermit (211.22.92.217), 01/23/2019 09:15:21
※ 编辑: sthermit (211.22.92.217), 01/23/2019 11:05:37
3F:→ qrtt1: 你是用 spring 去生 struts 的 action 吗?scope 填什麽? 01/23 19:17
4F:推 GGing: 每个 request 都是独立的,变数应该不会共用吧! 01/29 04:15
我本来也是这麽认为...
5F:推 aa9250604: Spring默认的scope是singleton哦 改成prototype呢 02/02 00:03
6F:推 gpctv: 楼上正解,之前Singleton的观念我也查了好久才明白 02/16 13:25
感谢各位大大的回覆,我没有特地去设scope的值,之後来研究看看怎麽设定
※ 编辑: sthermit (211.22.92.217), 02/21/2019 17:56:44