當我們點擊一個文章分類時扮授,應該進入到一個新頁面,我們稱為文章分類頁面侥钳,文章分類頁面跟首頁類似,一般頂部導航是一致的柄错,正文部分也是文章列表舷夺,但是所有文章都是屬于該文章分類的(一般包括子類)。右邊欄的熱門文章也可以改為該分類下的熱門文章售貌,下面我們來實現(xiàn)给猾。
1、添加頁面
在CmsController中增加
將index復制一份改名為categoryIndex
我們修改一下首頁
點擊首頁的導航颂跨,或者文章里面的分類敢伸,看能不能正常跳轉
如果沒有問題,將分類頁面的導航也做相同的修改毫捣。
2详拙、初始化分類信息
修改CmsController
修改分類頁面,增加category屬性蔓同,存儲當前分類信息
頁面載入的時候初始化分類信息
這里文章列表將會等分類信息初始化完成以后再查詢饶辙,避免瀏覽器傳的分類id是一個無效id。
3斑粱、查詢分類下面的文章
現(xiàn)在我們需要增加一個后臺方法弃揽,根據(jù)分類id,查詢分類及其子類下面的所有文章。不過首先我們需要根據(jù)分類id獲取下面所有分類矿微,之前的方法只能獲取直接子類痕慢,我們先寫這個方法
這里使用了遞歸查詢,效率是比較低的涌矢,需要執(zhí)行多次sql掖举,之前介紹過,使用路徑枚舉是比較好的方法娜庇。
我們再再service里面新增一個根據(jù)分類id查詢文章的方法
CmsController
修改頁面查詢文章列表方法
4塔次、分類熱門文章
5、總結
這節(jié)介紹了怎么完成文章分類頁面名秀,以及怎么跟首頁串起來励负,這里我們分類頁面使用的地址是http://localhost:8080/category/6?這種形式,直接傳分類的id匕得,這種url對搜索引擎SEO是不太友好的继榆,一般我們會對每個category定義一個url短地址,例如日記分類diary汁掠,編程program略吨,java可以直接使用java,我們訪問java分類頁面的時候就可以使用http://localhost:8080/category/program/java這種形式调塌,這方便SEO收錄晋南,所以我們需要根據(jù)program/java找到對應的分類id。
代碼:
https://github.com/www15119258/springboot-study/tree/branch32