「Spring MVC」セッションに格納するフォーム(Form)オブジェクトを削除する

環境
JavaSE 1.8
Eclipse 4.14
Spring 5.3.8

書式
1.getSession()

getSessionメソッドは、HttpSessionオブジェクトを取得します。
引数のセッション生成フラグにtrueを指定すると、現在セッションが存在しない場合は、生成して返します。

2.getAttributeNames()
getAttributeNamesメソッドは、リクエストスコープに格納された属性名を全て取得します。

3.public void removeAttribute( String 属性名 )
removeAttributeメソッドは、指定された属性を、リクエストスコープから削除します。

使用例

HttpSession session = request.getSession();
//全ての属性を取得
Enumeration<?>resLst = session.getAttributeNames();

//セッションキーを取得してリストに格納する
while(resLst.hasMoreElements()) {
  String key = resLst.nextElement().toString();
  //リストにキーを追加
  resLst.add(key);
}

//セッションリストからセッションを削除します
for(int i=0; i < resLst.size();i++){
   String key = resLst.get(i);
   //セッションキーの属性が存在か判定
   if(session.getAttribute(key)!=null) {
     //セッションを削除
     session.removeAttribute((String)resLst.get(i));
   }
}

SpringMVC

Posted by arkgame