补一个代码,上一节漏掉了,就是访问后台首页的时候,还得需要一个视图接口啊。来,在这:
@RequestMapping("/admin/{page}") public String adminView(@PathVariable(name = "page") String page) { return "admin/" + page; }
这个接口还可以访问其他的后台页面,只要你把jsp放在admin目录下面就可以了。
1.UI选型
终于开始画页面了,用什么框架好呢?我反正是懒得全部自己手写css,我们可以挑一个好用的框架,bootstrap有点太老了,easyUI就更加不用说了,虽然我曾经也是easyUI的死忠粉。
几经踌躇,最终,我选择用ElementUI,Element是(饿了么团队)根据MVVM结构Vue开源出来的一套前端ui组件。我靠,大公司,有保障!
element-ui是一个ui库,它不依赖于vue。但是却是当前和vue配合做项目开发的一个比较好的ui框架。
既然用了element-ui,那么自然就得配套使用Vue了。
如果你没有jquery的基础,那… … 岂不美哉??
众所周知,vue的设计思路是和jquery不同的,如果你要是不会jquery,反而更好。
OK,废话不多说,直接搞起来。
##2. 引入资源
我们需要一些资源,引入进来,为了快速看到效果,直接用CDN又很慢,所以我们不妨直接把资源下载下来,保存到本地:
有些资源没具体试过,但是vue的资源经过测试是可以使用的,这一块我吃了很多亏,终于找到了一款能用的!
因为我们不打算用webpack那一套,希望做成前后端不分离的模式,所以必须将elementUI本地化,其中的过程很痛苦,网上找了很多说法,都不能用!最终还是自己琢磨了一番才搞定,太难了我。
下面是elementUI的文档地址:
https://element.eleme.cn/#/zh-CN/component/quickstart
这也是element的开发手册,我们照着写就行了。说实话,我也不太会这个,但是有文档啊,照着写就完事了。
这里有个布局容器,看看有没有啥可以抄袭,哦不,借鉴的?
这个好像就不错欸,那就用它了!
注意,这边我又吃了没文化的亏,我以为直接copy就完事了,谁知道这个例子的代码只是一个大概的演示,很多css还是得自己搞上去才有的!
如果你也想本地使用elementUI来玩玩,这一路的坑我提前帮你踩了,跪求支持一波啊,哈哈。
第一波代码是这样子的:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="../common/taglib.jsp"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!-- import CSS --> <link rel="stylesheet" href="${basePath}/css/element.css"> <style> .el-main { background-color: #e9eef3; color: #333; text-align: center; line-height: 160px; } .el-footer, .el-header { background-color: #b3c0d1; color: #333; line-height: 60px; } .el-footer { text-align:center; } #app a{ text-decoration: none; color:#ffffff; } </style> </head> <body> <div id="app"> <el-container> <el-header style="height:60px;"> <a href="#"><span>java小白翻身</span></a> </el-header> <el-main class="el-main">Main</el-main> <el-footer style="height:60px;">Footer</el-footer> </el-container> </div> </body> <!-- import Vue before Element --> <script src="${basePath}/js/vue.js"></script> <!-- import JavaScript --> <script src="${basePath}/js/element.js"></script> <script> new Vue({ el: '#app', data: function() { return { } } }) </script> </html>
效果:
我们需要在标题栏的右侧,放一个搜索栏,去文档找找。
用这个吧:
<div style="float:right;"> <el-input placeholder="请输入内容" v-model="keywords" class="input-with-select"> <el-button slot="append" icon="el-icon-search"></el-button> </el-input> </div>
效果:
啊啊啊,图标没了,啥情况。百度了才知道,还缺少一个字体图标库的文件,我下载了,放在这里:
再刷新,完美:
没报错了,哦耶~~
环境配置完毕,下一节咱继续撸!本节源码加群获取,关注【java小白翻身】公众号,即可看到群号码~