BookStore專案 修改資料和退出登入

2021-08-24 20:51:15 字數 1582 閱讀 6181

接著上回說到,這次我們將修改資料和退出登入

有了上次的專案經驗,這個功能應該很輕鬆就拿下了。

由於登入的時候,我們將user已經存入session了。其實可以直接從session中取出來,將需要回顯的資料取出來。

就比如這樣。

會員名:$ 

就像這樣,從$中取出來一樣。但是你發現有沒有,性別那一欄有點難搞,因為你取出來不好顯示啊。方法如下:

性別:

男        女

$其實仔細分析下這個,你會發現,這哪是取值,分明就是個判斷句。所以應該好好看下el表示式的作用,它的確可以這樣用。由此還引申出兩個另外的方法。

el表示式判斷是否為空字串

$  返回true ,表示為空字串;

e.g    

是吧!

el表示式判斷是否為空

$ 返回true 的話,表示為空

不是!!!   

頁面回顯說完了,當提交修改時,將物件傳遞過來,跟原來註冊時封裝表單一樣的方法beanutils.populate(user, request.getparametermap());

但是請大家注意了,這裡你可以發現這裡跟註冊又不一樣,咱們沒有id啊,沒錯,註冊時是可以沒有,但是你要更新資料,沒有id怎麼查到原來的user呢?所以這裡需要將id(在表單中)隱藏起來$ 

用乙個input標籤隱藏起來,值從原來的session物件中取。

dao層呼叫的方法,update 通過id來更新。

// 修改使用者資訊

public void modifyuser(user user) throws sqlexception

ok,更新完畢了,重新存入session。可能有些人覺得改完密碼需要重新登入下,也行。也很簡單就相當於登出。

如果上步需要登出的,只需寫上這部分**就行了。登出很簡單啊,只需要把使用者的session殺死,然後重定向到登入介面接好了。登出還是需要先獲得session然後殺死這個session。(這又映出乙個問題我們session域存了那麼多,殺死哪個呢?不,是直接使session失效,即所有的都不能用。想移除某個session域,使用這個方法把session.removeattribute()移除session中的某項屬性。)

request.getsession().invalidate();//相當於註消使用者

response.sendredirect(request.getcontextpath()+"/modifyuserinfosuccess.jsp");

小結:重定向是response的事,且重定向的路徑不是跟**一樣的絕對路徑。**可以絕對路徑(就是直接寫請求路徑而不需要加別的),重定向我不知道為啥不能,它是用request.getcontextpath(),先獲得根路徑來算的。

ok。完,這次有點短......

dev c 修改資料

今天看完 linux kernel moduletcp ip 程式設計 中實現ping命令是顯示hello module 的資料報程式後,也完成了試驗現在總結如下 步驟一 在 net core dev.c中增加後門 int eefunction01 struct sk buff 0 這是函式eefu...

游標修改資料

declare updateemtinca rcursor cursor scroll 宣告乙個游標 for select emtincar.id as emtincar id,case when b.yieldtransitstatetype id is null then 3 else b.yi...

elasticSearch修改資料

elasticsearch幾乎能實時提供資料操作和搜尋功能。預設情況下,從開始索引 更新 刪除資料到出現搜尋結果的時間可以認為需要一秒的時間。這是與sql等其他平台的重要區別,其中資料在事務完成後可以立即使用。在上節中我們給索引建立了乙個文件,命令為 put customer doc 1 prett...