千家信息网

SpringBoot(七)整合themeleaf+bootstrap

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,前言Thymeleaf是用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是将优雅的自然模板带到您的开发工作流程中-HTML能够在浏览器中正确显示,并且可以作为静态原型,
千家信息网最后更新 2026年11月02日SpringBoot(七)整合themeleaf+bootstrap

前言

Thymeleaf是用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是将优雅的自然模板带到您的开发工作流程中-HTML能够在浏览器中正确显示,并且可以作为静态原型,从而在开发团队中实现更强大的协作。Thymeleaf能够处理HTML,XML,JavaScript,CSS甚至纯文本。

Spring-boot-starter-web集成了Tomcat以及Spring MVC,会自动配置相关东西,Thymeleaf是用的比较广泛的模板引擎.

更新pom.xml


org.springframework.boot
spring-boot-starter-thymeleaf

更新application.properties

#thymeleaf

spring.thymeleaf.cache=false

spring.thymeleaf.prefix=classpath:/templates/

spring.thymeleaf.check-template-location=true

spring.thymeleaf.suffix=.html

spring.thymeleaf.encoding=UTF-8

spring.thymeleaf.mode=HTML5

创建Controller

之所以新建Controller,而不是复用之前的IndexController,是因为IndexController使用的是 @RESTController 注解的方式。

  1. 使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面。若返回json等内容到页面,则需要加@ResponseBody注解

  2. @RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

新建UserController:

package com.demo.controller;

import com.demo.pojo.UserPosition;

import com.demo.service.UserService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import java.math.BigDecimal;

import java.util.List;

/**

  • Created by toutou on 2018/10/20.

*/

@Controller

public class UserController {

@Autowired

UserService userService;

@RequestMapping(value = "/mynearby")

public String myNearby(Model model, double lon, double lat)

{

double r = 6371;//地球半径千米

double dis = 2; //半径 单位:km

double dlng = 2Math.asin(Math.sin(dis/(2r))/Math.cos(lat*Math.PI/180));

dlng = dlng*180/Math.PI;//角度转为弧度

double dlat = dis/r;

dlat = dlat*180/Math.PI;

double minlat =lat-dlat;

double maxlat = lat+dlat;

double minlng = lon -dlng;

double maxlng = lon + dlng;

List list = userService.getVicinity(BigDecimal.valueOf(minlng), BigDecimal.valueOf(maxlng), BigDecimal.valueOf(minlat), BigDecimal.valueOf(maxlat));

model.addAttribute("myinfo",list);

return "mynearby";

}

}

创建页面

/src/main/resources/templates/mynearby.html

附近的小区


我的坐标

116.31064,40.062658


附近的小区

xmlns:th="http://www.thymeleaf.org"命名空间,将镜头转化为动态的视图,需要进行动态处理的元素使用"th:"前缀;两个link引入bootstrap框架,通过@{}引入web静态资源(括号里面是资源路径)访问model中的数据通过${}访问.

运行效果:

目录结构:

注解 页面 模板 视图 两个 动态 半径 小区 引擎 数据 方法 资源 静态 处理 开发 更新 强大 优雅 东西 之所以 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 什么是科技互联网 中智农互联网科技 互联网金融监管科技数据 科技企业和互联网企业 没上市的科技互联网公司 青岛互联网科技公司 奇酷互联网络科技公司 润盈互联网科技 佰商互联网科技有限公司 广州优美互联网科技 剑昆互联网络科技有限公司临桂 银川新华互联网科技职业技术培训学校图片 国大互联网教育科技有限公司工作 西安小鹰速贷互联网科技有限公司 长沙互联网科技 电子商务与互联网科技的关系 广州千川互联网科技有限公司 本届互联网大会上的黑科技 互联网界的黑科技 山东亿川互联网科技有限责任公司 广州紫鲸互联网科技有限公司 互联网科技深圳 互联网最新的科技有限公司 上海互联网科技有限公司 广州互联网络科技有限公司 互联网科技logo设计 烟台灵鸽互联网科技有限公司 山东子淼互联网科技有限公司 广州百诚互联网科技有限公司官网 现代互联网科技公司
0