傳智播客struts學習,formbean屬性的整數與日期類型

         繼續學習strusts, 今天張老師講了<html:checkbox>標籤和<html:form>標籤的好處及使用方法。<html:checkbox>標籤的使用會遇到一個常見問題,可以用reset方法解決。formbean屬性的整數與日期類型轉換的一般問題,都可以很容易的解決。

 

   使用<html:checkbox>標籤,設置它的property屬性,並把該屬性添加到formbean中,這樣<html:checkbox>標籤的checked屬性就可以設置property屬性值的boolean類型,使用非常方便。不過,不對<html:checkbox>標籤進行選擇時,checked屬性就不會設置爲false,這就帶來了一個問題,假設formbean的參數保存在session中,session中原來保存的對應與<html:checkbox>標籤的屬性值爲TRUE,當不對<html:checkbox>標籤進行選擇時,session中保存的相應參數就不會改變。不過可以在Formbean中用reset方法解決,在reset方法中添加代碼,對formbean中保存的參數值進行清空。這樣就防止了上面問題的發生。

 

     用戶在登錄一個頁面時,經常會遇到,一個<html:checkbox>標籤,可以選擇兩週內自動登錄該網站。這是怎麼實現的呢。原理很簡單,有時間一定要動手做一下,進行驗證。用戶選擇此選項後,服務器會把用戶名和密碼進行md5編碼後發送給瀏覽器保存在Cookie中。當該用戶下次登錄時,服務器端有一個過濾器,過濾器先檢查Cookie,用Cookie中的用戶名和密碼解碼後去和數據庫中是數據進行比較,比較成功以後就可以讓用戶不用輸入用戶名和密碼,訪問網站時就登錄上了。這樣就對此功能進行了實現。

 

<html:form>標籤的三個作用:
1.生成html文檔的<form>標籤;
2.檢查Session中是否存在Token,是則生成隱藏字段,保存sessionid,與服務器端保存的Sessionid做比較,以防止表單重複提交;
3.獲取action屬性中路徑所對應的scope域中的formbean,存在則獲取,不存在則創建新的,再把這個formbean以一個特殊關鍵字保存在request中,以便其中的<html:xxx>標籤獲取值時使用。

 

formbean屬性的整數與日期類型
1 在formbean中增加int類型的age屬性和在jsp頁面中增加對應的<html:text>標籤,由jsp頁面的age字段的顯示爲0,因爲,int型數據默認初始值爲0,將age屬性改爲Integer類型,就可以解決這個問題。可以將ActionServlet的ConvertNull屬性設置爲TRUE,就會對formbean的參數向java包裝類做合適的轉化。
2在formbean中增加java.util.Date類型的date屬性和在jsp頁面中增加對應的<html:text>標籤。在JSP顯示的日期會讓人很難看懂,這是因爲沒有完成Date類型轉換,可以編寫Date類型轉換器來解決。編寫ActionServlet的子類ItcastActionServlet,在init方法中註冊Date類型轉換器,用jstl的<fmt:formateDate>標籤回顯日期。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章