摘要:帶你搭一個(gè)的我的目的是做一個(gè)十分簡易的管理系統(tǒng),這就得有頁面,下面我繼續(xù)來講講我是怎么快速搭一個(gè)管理系統(tǒng)的。由于是簡易版,我的目的是能夠快速搭建,而不在于代碼的規(guī)范性。我們現(xiàn)在希望把記錄塞到一個(gè)管理頁面上展示起來。
前言
只有光頭才能變強(qiáng)。
文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/ZhongFuCheng3y/3y
在上一篇中已經(jīng)講解了如何從零搭建一個(gè)SpringBoot+SpringData JPA的環(huán)境,測試接口的時(shí)候也成功獲取得到數(shù)據(jù)了。
帶你搭一個(gè)SpringBoot+SpringData JPA的Demo
我的目的是做一個(gè)十分簡易的管理系統(tǒng),這就得有頁面,下面我繼續(xù)來講講我是怎么快速搭一個(gè)管理系統(tǒng)的。
ps:由于是簡易版,我的目的是能夠快速搭建,而不在于代碼的規(guī)范性。(所以在后面你可能會看到很多丑陋的代碼)一、搭建管理系統(tǒng) 1.1. 搭建頁面
在上一篇的最后,我們可以通過http://localhost:8887/user接口拿到我們User表所有的記錄了。我們現(xiàn)在希望把記錄塞到一個(gè)管理頁面上(展示起來)。
作為一個(gè)后端,我HTML+CSS實(shí)在是丑陋,于是我就去找了一份BootStrap的模板。首先,我進(jìn)到bootStrap的官網(wǎng),找到基本模板這一塊:
我們在里邊可以看到挺多的模板的,這里選擇一個(gè)控制臺頁面:
于是,就把這份模板下載下來,在本地中運(yùn)行起來試試看。官方給出的鏈接是下載整一份文檔,我們找到想要的頁面即可:
于是我們將這兩份文件多帶帶粘貼在我們的項(xiàng)目中,發(fā)現(xiàn)這HTML文件需要bootstrap.css、bootstrap.js、jquery?的依賴(原來用的是相對路徑,其實(shí)我們就是看看相對路徑的文件在我們這有沒有,如果沒有,那就是我們需要的)。這里我們在CDN中找找,導(dǎo)入鏈接就行了。
于是我們就將所缺的依賴替換成BootCDN的依賴,最重要的幾個(gè)依賴如下:
如無意外的話,我們也能在項(xiàng)目中正常打開頁面。
1.1.2 把數(shù)據(jù)塞到頁面上把數(shù)據(jù)塞到頁面上,有兩種方案:要么就后端返回json給前端進(jìn)行解析,要么就使用模板引擎。而我為了便捷,是不想寫JS代碼的。所以,我使用freemarker這個(gè)模板引擎。
為什么這么多模板引擎,我選擇這個(gè)?因?yàn)槲抑粫@個(gè)!
在SpringBoot下使用freemarker也是非常簡單,首先,我們需要加入pom文件依賴:
org.springframework.boot spring-boot-starter-freemarker
隨后,在application.yml文件中,加入freemarker的配置:
# freemarker配置 freemarker: suffix: .ftl request-context-attribute: request expose-session-attributes: true content-type: text/html check-template-location: true charset: UTF-8 cache: false template-loader-path: classpath:/templates
這里我簡單解釋一下:freemarker的文件后綴名為.ftl,程序從/templates路徑下加載我們的文件。
于是乎,我將本來是.html的文件修改成.ftl文件,并放在templates目錄下:
接下來將我們Controller得到的數(shù)據(jù),塞到Model對象中:
/** * 得到所有用戶 */ @GetMapping(value = "/user", produces = {"application/json;charset=UTF-8"}) public String getAllUser ( Model model) { ListallUser = userService.getAllUser(); model.addAttribute("users", allUser); return "/index"; }
圖片如下:
在ftl文件中,我們只要判斷數(shù)據(jù)是否存在,如果存在則在表格中遍歷出數(shù)據(jù)就行了:
<#if users?? && (users?size > 0)> <#list users as user>#list> <#else> ${user.userId} ${user.userNickname} ${user.userEmail} ${user.actiState} 刪除 還沒有任何用戶
#if>
圖片如下:
刪除的Controller代碼如下:
/** * 根據(jù)ID刪除某個(gè)用戶 */ @GetMapping(value = "/deleteUser", produces = {"application/json;charset=UTF-8"}) public String deleteUserById (String id,Model model) { userService.deleteUserById(id); return getAllUser(model); }
我們再找?guī)讖堊约合矚g的圖片,簡單刪除一些不必要模塊,替換成我們想要的文字,就可以得到以下的效果了:
至于圖片上的評論管理、備忘錄管理的做法都如上,我只是把文件再復(fù)制一次而已(期中沒有寫任何的JS代碼,懶)。
在編寫的期中,要值得注意的是:靜態(tài)的文件一般我們會放在static文件夾中。
項(xiàng)目的目錄結(jié)構(gòu)如下:
最后本文涉及到的鏈接(bootstrap & cdn):
https://v3.bootcss.com/getting-started/#template
https://www.bootcdn.cn/all/
樂于輸出干貨的Java技術(shù)公眾號:Java3y。公眾號內(nèi)有200多篇原創(chuàng)技術(shù)文章、海量視頻資源、精美腦圖,不妨來關(guān)注一下!
覺得我的文章寫得不錯(cuò),不妨點(diǎn)一下贊!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/77467.html
摘要:一從零搭建環(huán)境本次我使用的是編輯器來搭建和環(huán)境首先,我們在新建項(xiàng)目的時(shí)候,選擇,然后就行了??梢钥闯?,本次的版本為。這是一個(gè)非常好用的插件,有了它我們可以不用寫繁瑣的方法。非常適合我們做一些簡答的測試和小功能。 前言 只有光頭才能變強(qiáng)。 文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/ZhongFuCheng3y/3y 不知道大家對SpringB...
摘要:一入門在上次學(xué)的時(shí)候,那時(shí)候的教程就已經(jīng)涉及到了一點(diǎn)的知識了。入門只是中的一個(gè)子模塊是一套標(biāo)準(zhǔn)接口,而是的實(shí)現(xiàn)底層默認(rèn)實(shí)現(xiàn)是使用的首個(gè)接口就是,它是一個(gè)標(biāo)記接口。這也導(dǎo)致了我出現(xiàn)這個(gè)錯(cuò)誤的原因。 一、SpringData入門 在上次學(xué)SpringBoot的時(shí)候,那時(shí)候的教程就已經(jīng)涉及到了一點(diǎn)SpringData JPA的知識了。當(dāng)時(shí)還是第一次見,覺得也沒什么大不了,就是封裝了Hiber...
摘要:正文公司使用的是現(xiàn)在流行的,數(shù)據(jù)庫方面使用的是。這幾天用的最多的就是用進(jìn)行查詢了,簡單的查詢很簡單,網(wǎng)上查一查就有一堆方案,直到遇到分頁查詢的時(shí)候出了問題。 寫作原因 之前在學(xué)校都是做前端,但是最后找了個(gè)Java后端的工作,框架什么的基本沒用過,所以工作中遇到了很多問題,所以決定記錄下來工作中遇到的問題,記錄成長的點(diǎn)滴。 正文 公司使用的是現(xiàn)在流行的SpringBoot,數(shù)據(jù)庫方面使用...
摘要:熱加載代表的是我們不需要重啟服務(wù)器,就能夠類檢測得到,重新生成類的字節(jié)碼文件無論是熱部署或者是熱加載都是基于類加載器來完成的。驗(yàn)證階段字節(jié)碼文件不會對造成危害準(zhǔn)備階段是會賦初始值,并不是程序中的值。 一、SpringBoot入門 今天在慕課網(wǎng)中看見了Spring Boot這么一個(gè)教程,這個(gè)Spring Boot作為JavaWeb的學(xué)習(xí)者肯定至少會聽過,但我是不知道他是什么玩意。 只是大...
閱讀 869·2021-11-24 09:38
閱讀 1098·2021-10-08 10:05
閱讀 2592·2021-09-10 11:21
閱讀 2809·2019-08-30 15:53
閱讀 1837·2019-08-30 15:52
閱讀 1978·2019-08-29 12:17
閱讀 3427·2019-08-29 11:21
閱讀 1618·2019-08-26 12:17