一、導航
以guns的通知管理為例
l 通知管理的請求地址是localhost:8080/notice
l 程序收到這樣的請求就去找地址為notice的Controller
l 通知控制器收到這個請求時因為下一級地址為空,所以執行這個函數
l 通過這個函數找到這個網頁
二、網頁中的表格獲得數據
l 控制這個html的JavaScript位置在
l 這個JavaScript在運行的時候 直接執行者一段語句(紅色標出的地方是它的請求地址)
這個請求地址同樣會被通知控制器NoticeController收到
l 收到地址請求執行這個函數
l NoticeController通過
@Autowired
private INoticeService noticeService;
注入InoticeService 通知服務類接口對象 然后執行InoticeService的list方法 然后將list方法的返回值返回給請求這個語句的JavaScript 也就是那個table,就可以把數據顯示到表格上了。
l 關於list函數需要先配置這兩個接口和方法
l 再配置通知表的Mapper接口 和 xml形式的sql查詢語句
NoticeMapper.xml是這sql語句的地方,里面的id對應到前面三個接口的函數名,函數名是list。
三、不將請求到的內容通過表格顯示,而是把數據直接傳送到前端,在前端直接使用
l 以通知這個導航為例,請求地址是notice/hello
l 控制器收到請求后,執行hello這個函數,同樣的執行list方法得到List<Map<String,Object>> notices,它是NoticeMapper.xml的id為list的sql查詢返回的內容。然后將notices通過setAttr方法注入到blackboard.html中,在html中的別名別noticeList,再返回blackboard.html
l 在blackboard.html中通過beetl循環語句,操作控制器給這個網頁注入的noticeList。
* 關於直接給html傳遞數據還可以使用model.addAttribute,這個更常見