簡體   English   中英

在會話中使用jsp bean

[英]Using a jsp bean in a session

我正在使用JSP bean,當我對一個新對象進行賦值時,它會在對前一個對象的提交上被覆蓋。

<jsp:useBean id="base" class="com.example.StandardBase" scope="session" />
...
//base object id  = 396
base = new Base()
//base object id = 1000

並在重新提交頁面后得到

<jsp:useBean id="base" class="com.example.StandardBase" scope="session" />
//base object id = 396

有沒有辦法告訴JSP做一個新的任務?

我不完全確定,但我認為base = new Base()不會更新存儲在會話范圍中的引用。 因此,使用初始<jsp:useBean/>創建的bean仍然存在,而您手動創建然后更新的bean則不然。

擺脫base = new Base() ,你應該沒問題。

如果您堅持更新它,則使用HttpSession.setAttribute() 像這樣:

session.setAttribute("bean", bean);

我相信JSP引擎session自動為您創建和初始化變量session

你不應該自己新推豆子。 讓JSP為您做到這一點

會改變范圍從會話到請求修復此問題嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM