SpringBoot整合前端框架引擎thymeleaf

如题,在做毕设开始的时候就困扰了我很久的一个问题。SpringBoot不推荐使用jsp,而是推荐使用html。
这段时间真的难苦了。一直在思考怎么能像jsp一样直接从后台得到值类似于${data}这样获取。html又不能这样,也没有session那样的内置对象。因为html是静态页面嘛毕竟。
今天终于把thymeleaf配置成功啦~开心。
讲一下步骤:

  1. 引入Maven依赖
        <dependency><!--页面模板依赖-->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency><!--热部署依赖-->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>

这里我还引入了热部署依赖,虽然不知道有什么用。。。

  1. 配置application.yml
spring:
  thymeleaf:
    cache: false
    prefix: classpath:/static/views/admin/
    check-template: true
    suffix: .html
    encoding: UTF-8
    servlet:
      content-type: text/html
    mode: HTML

prefix里面默认是从templates里面查询模板页面,因为我之前已经做了很多了页面全部放在views的amin路径下,所以我prefix设置到了我放置的文件夹下。

  1. 在Controller层返回modelAndView
	//这里value我图方便设成这样,方便自己已经做好了的html里面的资源引用
    @RequestMapping(value = "views/admin/searchPatent.action", method = RequestMethod.GET)
    public ModelAndView searchByName(HttpServletRequest req) {
        ModelAndView mv = new ModelAndView();
        String searchName = req.getParameter("searchName");
        List<Patent> patent = patentService.selectPatentByName(searchName);
        if (patent.size() != 0) {
            mv.addObject("code", 1);
            mv.addObject("patent", patent);
            mv.setViewName("searchPage.html");
        } else {
            mv.addObject("code", 0);
            mv.setViewName("searchPage.html");
        }
        return mv;
}
  1. html页面配置
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
	<p th:text="${patent[0].patentNo}"></p>
</body>
</html>

这样就配置好啦,页面里面就能像jsp一样从后台得到一堆一堆的数据啦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值