概述
1、Restful CRUD:CRUD满足Rest风格 URI:/资源名称/资源标识 HTTP请求方式区分对资源CRUD操作
| 普通CRUD(uri来区分操作) | Restful CRUD | 查询 | getEmp | emp--GET | 添加 | addEmp?name=lucy&age=22 | emp--POST | 修改 | updateEmp?id=1 | emp/{id}--PUT | 删除 | deleteEmp?id=1 | emp/{id}--DELET |
|
2、demo请求架构
| 请求URI | 请求方式 | 员工列表(查询所有员工) | emps | GET | 提交添加员工 | emp | POST | 查询单一员工(进入修改页面) | emp/1 | GET | 修改保存员工 | emp | PUT | 删除员工 | emp/1 | DELETE |
|
3、 员工列表 thymeleaf公共页面元素抽取: 1、抽取公共片段 ![](https://img-blog.csdn.net/20180520180224524?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
2、引入公共片段 ![](https://img-blog.csdn.net/20180520180521442?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
片段规范语法: ~{templatename :: selector}:模板名::选择器。包含在名称为templatename的模板上应用指定的标签选择器匹配的片段。 ~{footer :: copy}:模板名::片段名。 ![](https://img-blog.csdn.net/2018052018454154?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
|
![](https://img-blog.csdn.net/20180520184200923?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
![](https://img-blog.csdn.net/20180520184247881?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
6、显示数据 ![](https://img-blog.csdn.net/20180520193700939?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
![](https://img-blog.csdn.net/20180520193629534?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
![](https://img-blog.csdn.net/20180520194357604?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
时间格式化: ![](https://img-blog.csdn.net/20180520194236453?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
详细,查看文档:https://download.csdn.net/download/yufang131/10420053 |
![](https://img-blog.csdn.net/20180521153327694?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
<h2>添加员工信息</h2>
<form th:action="@{/user/emp}" method="post">
<div class="form-group">
<label for="exampleFormControlInput1">lastName</label>
<input type="text" name="lastName" th:value="${emp!=null}?${emp.lastName}" class="form-control" placeholder="lily">
</div>
<div class="form-group">
<label for="exampleFormControlInput1">Email address</label>
<input type="email" name="email" th:value="${emp!=null}?${emp.email}" class="form-control" placeholder="name@example.com">
</div>
<div class="form-group">
<label>Gender</label><br />
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="gender" value="1" th:checked="${emp!=null}?${emp.gender==1}">
<label class="form-check-label">男</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="gender" value="0" th:checked="${emp!=null}?${emp.gender==0}">
<label class="form-check-label">女</label>
</div>
</div>
<div class="form-group">
<label for="exampleFormControlSelect2">department</label>
<select class="form-control" name="department.id">
<option th:each="dep : ${deps}" th:value="${dep.id}" th:text="${dep.departmentName}" th:selected="${emp!=null}?${dep.id == emp.department.id}"></option>
</select>
</div>
<div class="form-group">
<label>Birth</label>
<input type="text" name="birth" th:value="${emp!=null}?${#dates.format(emp.birth, 'yyyy/MM/dd HH:mm:ss')}" class="form-control" placeholder="2018/10/10" >
</div>
<button type="submit" class="btn btn-primary" th:text="${emp!=null}?'修改':'添加'">保存</button>
</form>
|
8、修改员工 ![](https://img-blog.csdn.net/20180521164026547?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
<input type="hidden" name="_method" value="put" th:if="${emp!=null}" />
<input type="hidden" name="id" th:value="${emp.id}" th:if="${emp!=null}" />
![](https://img-blog.csdn.net/20180521165827601?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70) |
在第8步操作时,有一遗留的问题:添加新员工信息 和 修改已有员工信息? ![](https://img-blog.csdn.net/20180522120045748?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
![](https://img-blog.csdn.net/2018052212062056?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3l1zmfuzzezmq==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
|
最后
以上就是拉长汽车为你收集整理的SpringBoot web--RestfulCRUD-demo-Restful风格(18)的全部内容,希望文章能够帮你解决SpringBoot web--RestfulCRUD-demo-Restful风格(18)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复