[問題] Struts2 接收 HTTP GET參數的問題

看板java作者 ( )時間5年前 (2019/01/22 23:47), 5年前編輯推噓4(402)
留言6則, 5人參與, 5年前最新討論串1/1
各位大大 小弟今天遇到一個問題,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://www.ptt.cc/bbs/java/M.1548172048.A.AE3.html

01/23 00:17, 5年前 , 1F
初學的話建議可以玩玩spring mvc,spring.io上有很多範例
01/23 00:17, 1F

01/23 00:17, 5年前 , 2F
,但若是為了維護舊專案就沒辦法了XD
01/23 00:17, 2F
新的我都用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

01/23 19:17, 5年前 , 3F
你是用 spring 去生 struts 的 action 嗎?scope 填什麼?
01/23 19:17, 3F

01/29 04:15, 5年前 , 4F
每個 request 都是獨立的,變數應該不會共用吧!
01/29 04:15, 4F
我本來也是這麼認為...

02/02 00:03, 5年前 , 5F
Spring默認的scope是singleton哦 改成prototype呢
02/02 00:03, 5F

02/16 13:25, 5年前 , 6F
樓上正解,之前Singleton的觀念我也查了好久才明白
02/16 13:25, 6F
感謝各位大大的回覆,我沒有特地去設scope的值,之後來研究看看怎麼設定 ※ 編輯: sthermit (211.22.92.217), 02/21/2019 17:56:44
文章代碼(AID): #1SHpiGhZ (java)