spring boot 2.1.5+mysql+druid+redis+jpa+ajax实现数据库的增删改查操作

 

上篇文档https://blog.csdn.net/freedom_fire/article/details/9076978同样介绍了用spring boot +mysql+druid+redis+jpa+ajax如何实现数据的增删该查操作(未用thymeleaf),但是遗留了一个问题:控制层返回一个ModelAndView(或者Model),在.html页面中用EL表达式无法展示对应数据,具体示例资源见https://download.csdn.net/download/freedom_fire/11225502,这篇文档介绍运用thymeleaf解决前篇文档遗漏的问题。

1、集成thymeleaf

spring boot已经整合了thymeleaf,只需要在pom.xml配置对应依赖即可

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

2、调整application.properties参数

必须配置spring.mvc.static-path-pattern,否则静态资源加载有误(亲测确认),后续两项没配置也好使

spring.mvc.static-path-pattern=/static/**
#指定mvc视图的前缀
spring.mvc.view.prefix=classpath:/templates/
#指定mvc视图的后缀
spring.mvc.view.suffix=.html

 3、resources目录结构

 

4、访问

http://ip:port/projectName 即可方法index.html

http://ip:port/omp/user/queryPage 即可进入pages/query.html进行后续操作

5、说明

运用thymeleaf后,/templates/pages目录下的html文件不能直接访问(这也是上面为什么通过http://ip:port/omp/user/queryPage方式进入查询页面的说明),都需要通过controller进行跳转访问(我现在用的是spring boot2.1.5,我得出结论是这样, 不知道是否正确,供参考吧)

thymeleaf的一些简单使用说明下:

第一:需在.html中增加xmlns:th="http://www.thymeleaf.org",这样:<html xmlns:th="http://www.thymeleaf.org">

第二:引入css、js、image需要如下写指定文件路径(个人感觉这块很好,免除了jsp中出现的相对路径、绝对路径问题)

<script language="JavaScript" type="text/javascript" th:src="@{/static/js/main.js}"></script>

<img th:src="@{/static/img/image.JPG}">

第三:.html中需要动态赋值的地方需要用th:表示,如后台返回ModelAndView,ModelAndView中封装User对象,需在前端展示

<div class="form-group">
    <label for="tel" class="col-sm-2 control-label">姓名</label>
    <div class="col-sm-10">
        <input type="hidden" class="form-control" id="id" name="id" th:value="${user.id}">
	<input type="text" class="form-control" id="username" name="username" placeholder="请输入姓名" th:value="${user.username}">
    </div>
</div>
<div class="form-group">
    <label for="code" class="col-sm-2 control-label">年龄</label>
    <div class="col-sm-10">
        <input type="text" class="form-control" id="age" name="age" placeholder="请输入年龄" th:value="${user.age}">
    </div>
</div>
<div class="form-group">
    <label for="code" class="col-sm-2 control-label">性别</label>
    <div class="col-sm-10">
        男:<input type="radio" class="form-control" name="sex" th:value="男" th:attr ="checked=${user.sex==&apos;男&apos;?true:false}">
	女:<input type="radio" class="form-control" name="sex" th:value="女" th:attr ="checked=${user.sex==&apos;女&apos;?true:false}">
    </div>
</div>

上述由于数据库中性别存储的是男、女,所以页面上radio默认选中用的th:attr ="checked=${user.sex==&apos;男&apos;?true:false}"这种方式判断

上述三点就是我在验证demo时遇到的常见操作,更多thymeleaf操作参见官网地址http://www.thymeleaf.org

spring boot中resources目录下各文件夹作用:

1、新建public文件夹:相当于在eclipse的web项目中的web-inf文件夹外的文件,是不需要通过服务器内部进行访问的。
2、templates文件夹,是放置模板文件的,因此需要视图解析器来解析它。所以必须通过服务器内部进行访问,也就是要走控制器--服务--视图解析器这个流程才行(这也是为啥前面不能直接访问templates下的.html文件的原因)
3、static文件夹,既不能直接访问,也不能通过服务器访问到。因此,这个文件夹,可能是放一些css、图片这样的文件供服务器内部引用。
 

最后,提供demo示例下载路径:https://download.csdn.net/download/freedom_fire/11226452

上述所有纯为个人真实验证总结,不喜勿喷,转载请说明出处……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章