1

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に新しい割り当てを行うように指示する方法はありますか?

4

3 に答える 3

3

base = new Base()完全にはわかりませんが、セッションスコープに保存されている参照は更新されないと思います。したがって、イニシャルで作成した Bean<jsp:useBean/>はまだ残っていますが、手動で作成してから更新した Bean はそうではありません。

取り除けbase = new Base()ば、元気になるはずです。

どうしても更新したい場合は、HttpSession.setAttribute(). そのようです:

session.setAttribute("bean", bean);

変数sessionは JSP エンジンによって自動的に作成および初期化されると思います。

于 2008-11-18T17:56:00.070 に答える
1

自分で Bean を新しくすることは想定されていません。JSPに任せてください

于 2008-11-18T17:55:18.153 に答える
0

スコープをセッションからリクエストに変更すると、これが修正されますか?

于 2008-11-18T17:54:16.690 に答える