Struts:HttpServletRequestとSessionにセットされる値の保持の違いについて
Java (21 items)
2004年07月30日
Actionクラスより、Jsp側に値を渡す場合、セッションに値をセットする方法として、HttpServletRequestに直接セットする方法と、Sessionにセットする方法があります。
どちらにセットしても、Jsp側で値を受け取ることができますが、値の保持方法が違います。
HttpServletRequestに値をセットする場合、値の保持は1Actionのみです。
例えば、ある一覧画面を表示する時に、一覧の表示内容をHttpServletRequestにセットしていた場合、表示した時点で、データは保持しなくなります。
なので、その画面でvalidateを使用してデータチェックを行った場合、もう一度、一覧内容を取得しなければなりません。
一方、Sessionに値をセットする場合、値の保持はセッションが切れるまで、ずっと保持し続けます。
なので、先ほどの場合だと、もう一度、一覧内容を取得する必要がありません。
よく考えてみると当たり前のことなのですが、私はこれで嵌っていたので、Tipsに上げてみました。
どちらにセットしても、Jsp側で値を受け取ることができますが、値の保持方法が違います。
HttpServletRequestに値をセットする場合、値の保持は1Actionのみです。
例えば、ある一覧画面を表示する時に、一覧の表示内容をHttpServletRequestにセットしていた場合、表示した時点で、データは保持しなくなります。
なので、その画面でvalidateを使用してデータチェックを行った場合、もう一度、一覧内容を取得しなければなりません。
一方、Sessionに値をセットする場合、値の保持はセッションが切れるまで、ずっと保持し続けます。
なので、先ほどの場合だと、もう一度、一覧内容を取得する必要がありません。
よく考えてみると当たり前のことなのですが、私はこれで嵌っていたので、Tipsに上げてみました。
<スポンサードリンク>
<スポンサードリンク>
前の記事 次の記事