經過前面兩天的
bbs學習,相信大家眼裡都出現了乙個清晰的
mvc模式架構。接下來的
3天,我們將在湯老師的帶領下對一些技術細節做**,並複習前面
struts
和hibernate
的知識,一起完成
itcastbbs
的版面分類模組和使用者註冊模組,精彩正在進行中······
1.表單的伺服器端和客戶端驗證(1
)伺服器端驗證
分析:categoryaction
繼承了dispatchaction
,categoryaction
中的action
有的需要驗證表單,有的則不需要驗證表單,所以應當在配置檔案中將
validate
屬性設為
false,
自定義方法對
categoryaction
中需要進行表單驗證的
action
進行驗證。1)在
actionform
中重寫validate
()方法2)在
baseaction
中自定義方法
validatefailed()
對需要驗證表單的
action
進行驗證,返回
boolean值3)
在categoryaction
中根據boolean
取值選擇不同的返回頁面(2
)客戶端驗證
這裡使用
js和正規表示式進行簡單驗證,不需要進行伺服器端的校驗。
2.分類移動的思路
1)每個分類有不同的
order
的值2)
新增時要指定
order
值,order
值不能重複,
order
值要最大
3)顯示時按
order
的值公升序排列:在
categorydaoimpl
中重寫findall()
方法4)
上移:跟上面的分類的
order
交換值;下移:跟下面的分類的
order
交換值5)
上移操作的
hql語句:
session.createquery(
"from category c where c.order < ? order by c.order desc")
.setparameter(0,category.getorder())
.setfirstresult(0)
.setmaxresults(1)
.uniqueresult(); 3.
版面管理
版面管理和分類管理類似,實現流程也類似,可以參考分類管理進行。這裡我主要就一些不同於分類管理的細節進行總結歸納。
1)顯示層使用
struts
標籤編寫下拉列表框的**: 2)
驗證表單時,如果驗證失敗,此時返回的頁面應當是
addui,
而不能是
add,因為
addui
可以為add
頁面準備資料.
3)版面移動的時候,由於儲存
forum
物件的set
是無序的,無法保證版面在顯示層出現的順序,這裡需要使用
linkedhashset 4)
頁面中有大量重複的**,可以把重複**抽取出來成乙個單獨的頁面(
jspf
),使用靜態包含(
include
)匯入
傳智播客 BBS使用者註冊
休息了兩天,讓疲憊的身心得到了最大程度的放鬆。新的學習又開始了,自己給自己點鼓勵,成功不再遙遠,我們一同前進。今天繼續湯陽光老師 bbs的學習,今天主要要完成 bbs的使用者註冊和使用者的自動登入,現在開始吧!1.使用者註冊需要乙個 byte 型的陣列變數用於儲存使用者頭像到 mysql 資料庫,同...
傳智播客mysql分頁的實現 傳智播客 分頁
整理了一宿,終於找到了頭緒,在頭腦還算清醒時,整理下分頁的筆記.我這個分頁用的是oracle的資料庫.他在查詢時涉及到了乙個偽列.table名為 employees.建立bean物件employee.屬性如下 private int employee id private string first ...
傳智播客 servlet http協議
今天的老畢講的課程主要是關於 b s和 c s系統的一些底層通訊協議和 servlet 開發環境的搭建,也涉及到一些 servlet 開發的一些介面和繼承類。經過幾天的學習,逐漸形成自己的聽課節奏了,沒有前面兩天的壓抑了。自己總結,要學好程式設計,首先要有顆平常心,不要急功近利 其次,在學習的過程中...