昨晚爲了幫別人解決一個問題花費了我兩個多小時,真傷心啊。
具體的操作步驟是先進行查詢再進行詳情,再進行查詢。最後一次查詢得值不正確,經查證在詳情對象和查詢對象的地址是一樣的。在經過詳情過後,查詢對象的值也發生了變化。爲了兩次操作互補影響,解決方案就用非單例了。按理說struts2默認是非單例的啊,可用spring的註解就默認單例了。
在struts2中利用Controller進行註解Action時,默認方式是單例模式,要想改成非單例需要加註解@Scope("prototype"),這樣就可以保證兩次請求Action都new一個對象,進而避免的兩次請求操作同一對象出現值混淆的情況。
作者:Tandaly