SpringBoot整合themeleaf+bootstrap (五)
Thymeleaf是用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是将优雅的自然模板带到您的开发工作流程中—HTML能够在浏览器中正确显示,并且可以作为静态原型,从而在开发团队中实现更强大的协作。Thymeleaf能够处理HTML,XML,JavaScript,CSS甚至纯文本。
Spring-boot-starter-web集成了Tomcat以及Spring MVC,会自动配置相关东西,Thymeleaf是用的比较广泛的模板引擎.
更新pom.xml
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>
更新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 {@AutowiredUserService userService;@RequestMapping(value = "/mynearby")public String myNearby(Model model, double lon, double lat){double r = 6371;//地球半径千米double dis = 2; //半径 单位:kmdouble dlng = 2*Math.asin(Math.sin(dis/(2*r))/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<UserPosition> 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
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" >
<html lang="en">
<head><meta content="text/html;charset=UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><link href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"><link href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap-theme.min.css" rel="stylesheet"><title>附近的小区</title>
</head>
<body>
<br/>
<div class="panel panel-primary"><div class="panel-heading"><h3 class="panel-title">我的坐标</h3></div><div class="panel-body"><span>116.31064,40.062658</span></div><br/><div th:if="${not #lists.isEmpty(myinfo)}"><div class="panel panel-primary"><div class="panel-heading"><h3 class="panel-title">附近的小区</h3></div><div class="panel-body"><ul class="list-group"><li class="list-group-item" th:each="item : ${myinfo}"><span th:text="${item.id}"></span><span th:text="${item.city}"></span><span th:text="${item.position}"></span><span th:text="${item.longitude}"></span><span th:text="${item.latitude}"></span><button class="btn">删除</button></li></ul></div></div></div>
</div>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script th:inline="javascript">
// var single = [[${singlePerson}]];
// console.log(single.name+"/"+single.age);$(function(){$(".btn").click(function(){alert("删除功能完善中...");});});
</script>
</body>
</html>
xmlns:th="http://www.thymeleaf.org"命名空间,将镜头转化为动态的视图,需要进行动态处理的元素使用“th:”前缀;两个link引入bootstrap框架,通过@{}引入web静态资源(括号里面是资源路径)访问model中的数据通过${}访问.
目录结构:
SpringBoot整合themeleaf+bootstrap (五)相关推荐
- redis进阶之SpringBoot整合Redis(五)
在聊 SpringBoot整合redis之前,我们先看看 Redis推荐的java连接开发工具:jedis知其然并知其所以然,授人以渔! 学习不能急躁,慢慢来会很快! Jedis 什么是Jedis 是 ...
- SpringBoot(七)整合themeleaf+bootstrap
前言 Thymeleaf是用于Web和独立环境的现代服务器端Java模板引擎.Thymeleaf的主要目标是将优雅的自然模板带到您的开发工作流程中-HTML能够在浏览器中正确显示,并且可以作为静态原型 ...
- SpringBoot入门教程(七)整合themeleaf+bootstrap
Thymeleaf是用于Web和独立环境的现代服务器端Java模板引擎.Thymeleaf的主要目标是将优雅的自然模板带到您的开发工作流程中-HTML能够在浏览器中正确显示,并且可以作为静态原型,从而 ...
- SpringBoot整合RabbitMQ 实现五种消息模型
目录 SpringBoot中使用RabbitMQ 搭建初始环境 引入依赖 配置配置文件 测试类 注入 rabbitTemplate 消息队列RabbitMQ之五种消息模型 第一种直连模型使用 开发生产 ...
- springboot整合shiro-关于登出时,redis中缓存没有清理干净的问题
原文地址,转载请注明出处: https://blog.csdn.net/qq_34021712/article/details/84722724 ©王赛超 如果是跟着我的shiro系列博客敲下来的,其 ...
- Springboot整合TrueLicense(包括License的生成、安装和验证)
文章目录 前言 一.公钥.私钥和证书介绍 二.使用Java自带的Keytool生成公私钥库 1.生成私钥库 2.将公钥导出至临时文件 3.将文件导入到公钥库(新建) 三.TrueLicense介绍 四 ...
- 五、Springboot 整合Shiro---03认证---第三方QQ登陆
本章节基于:四.Springboot 整合Shiro---02认证---记住我 在开始之前,先要理解一下oauth2: 推荐去看一下(六.授权码模式):阮一峰讲解的oauth2 下面附上一张阮一峰博客 ...
- 第五章 - 分布式定时任务框架ElasticJob之SpringBoot整合SimpleJob作业(实战一)
系列文章目录 第一章 - 分布式定时任务框架ElasticJob之JavaApi整合Simple作业 第二章 - 分布式定时任务框架ElasticJob之JavaApi整合DataflowJob作业 ...
- SpringBoot整合SpringSecurity实现权限控制(五):用户管理
系列文章目录 <SpringBoot整合SpringSecurity实现权限控制(一):实现原理> <SpringBoot整合SpringSecurity实现权限控制(二):权限数据 ...
最新文章
- 讯飞语音:客户端未被授权
- 使用locate 的正则查询 查找所有main.c
- html表单注册功能的实现,仅一个form表单 js实现注册信息依次填写提交功能
- SpringSecurity认证流程回顾
- phpcms发布新闻到数据库_如何利用PHPCMS调用新闻列表
- unix linux系统版本,怎么查看UNIX系统版本?
- docker学习(7) docker-compose使用示例
- DLA SQL分析函数:SQL语句审计与分析的利器
- 珍惜平时一点一滴,这几个值得跟进学习的阿里、滴滴、微软超级牛人的公众号!...
- MATLAB中施密特正交化的实现
- atitit.资源释放机制--attilax总结
- Linux_zlog日志系统的安装与使用
- AI人工智能服务器安装说明书,AI人工智能电脑配置及服务器双显卡的安装总结...
- linux SysV IPC实现
- python3 pdf转图片_Python 将pdf转成图片的方法
- Python实现太极图案
- Storm概念详解和工作原理,topology、spout、bolt的细节和API讲解之一
- Unity 安卓 Unable to initialize the Unity Engine / No Enough Space to install unity
- 更改linux文件系统为只读的方法
- springboot基于JAVA游戏周边商城设计与实现毕业设计源码261622
热门文章
- VMware虚拟机下实现Linux与window文件夹共享
- php输出文件,数组
- Microsoft SQL Server Compact 4.0ADO.NET Entity Framework 4.1MVC3
- apache 的http代理出错 502 Proxy Error
- Decoda Tutorial LUA调式器
- python调用自己写的函数_python调用自定义函数的实例操作
- mysql 触发器 new.id,mysql触发器的使用方法
- 云原生的本质_云原生2.0的逻辑之辩,如何让每个企业都成为新云原生企业
- laravel没有route.php,Laravel中的RouteCollection.php中的NotFoundHttpException
- c语言程序设计实践教程编程题8.3,C语言程序设计教程(21世纪计算机科学与技术实践型教程)...