[英]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.