springBoot整合Jsp
创建 Maven 项目
1、修改 pom.xml 文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sxt</groupId>
<artifactId>06-springboot-view-jsp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 父类 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<!-- springBoot启动器 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- jasper -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
2、添加全局配置文件
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
3、创建Controller
4、启动类
5、在srcmainwebappWEB-INF下添加jsp页面
测试结果
SpringBoot 整合 Thymeleaf
Thymeleaf是一个适用于Web和独立环境的现代服务器端Java模板引擎。
Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 - 可以在浏览器中正确显示的HTML,也可以用作静态原型,从而在开发团队中实现更强大的协作。
Spring推荐使用的也是 Thymeleaf。
Thymeleaf特点:
Thymelaef 是通过特定语法对 html 的标记做渲染。
创建Maven项目
1、修改pom.xml文件
2、使用 Thymeleaf ,存放视图的目录是在src/main/resources/Templates
Thymeleaf语法详解
1、字符串操作
变量输出与字符串操作
th:text,在页面中输出值
th:value,可以将一个值放入到 input 标签的 value 中。
Thymeleaf 内置对象
注意语法:
1,调用内置对象一定要用#
2,大部分的内置对象都以 s 结尾 strings、numbers、dates
${#strings.isEmpty(key)} 判断字符串是否为空,如果为空返回 true,否则返回 false
${#strings.contains(msg,'T')} 判断字符串是否包含指定的子串,如果包含返回 true,否则返回 false
${#strings.startsWith(msg,'a')} 判断当前字符串是否以子串开头,如果是返回 true,否则返回 false
${#strings.endsWith(msg,'a')} 判断当前字符串是否以子串结尾,如果是返回 true,否则返回 false
${#strings.length(msg)}返回字符串的长度
${#strings.indexOf(msg,'h')} 查找子串的位置,并返回该子串的下标,如果没找到则返回-1
${#strings.substring(msg,13)} ${#strings.substring(msg,13,15)} 截取子串,用户与 jdkString 类下 SubString 方法相同
${#strings.toUpperCase(msg)} ${#strings.toLowerCase(msg)}字符串转大小写。
测试
2、日期转换操作
${#dates.format(key)}格式化日期,默认的以浏览器默认语言为格式化标准
${#dates.format(key,'yyy/MM/dd')}按照自定义的格式做日期转换
${#dates.year(key)} year:取年
${#dates.month(key)} Month:取月
${#dates.day(key)} Day:取日
3、条件判断
Controller
html
4、迭代遍历
语法:th:each="变量名 : ${遍历的集合}"
4.1、迭代对象
Controller
Html
th:each 状态变量
状态变量属性
1,index:当前迭代器的索引 从 0 开始
2,count:当前迭代对象的计数 从 1 开始
3,size:被迭代对象的长度
4,even/odd:布尔值,当前循环是否是偶数/奇数 从 0 开始
5,first:布尔值,当前循环的是否是第一条,如果是返回 true 否则返回 false
6,last:布尔值,当前循环的是否是最后一条,如果是则返回 true 否则返回 false
4.2、th:each 迭代 Map
Controller
Html
5、获取作用域对象中的数据
Controller
html
URL表达式
Thymeleaf语法详解-URL表达式
URL 表达式
th:href th:src
url 表达式语法
基本语法:@{}
绝对路径
<a th:href="@{http://www.baidu.com}">绝对路径</a><br/>
相对路径
1、相对于当前项目的根 相对于项目的上下文的相对路径
<a th:href="@{/show}">相对路径</a>
2、 相对于服务器路径的根
<a th:href="@{~/project2/resourcename}">相对于服务器的根</a>
在 url 中实现参数传递
<a th:href="@{/show(id=1,name=zhagnsan)}">相对路径-传参</a>
在 url 中通过 restful 风格进行参数传递
<a th:href="@{/path/{id}/show(id=1,name=zhagnsan)}"> 相 对 路 径 - 传 参 -restful</a>
th标签
th:text,在页面中输出值
th:value,可以将一个值放入到 input 标签的 value 中。
th:switch / th:case 与 Java 中的 switch 语句等效,有条件地显示匹配的内容。
th:field 常用于表单字段绑定
th:each="变量名 : ${遍历的集合}"
th:href 定义超链接,类似<a>标签的href 属性。value形式为@{/logout}
th:id div id声明,类似html标签中的id属性。
th:if 条件判断。
th:replace 替换当前标签为模板的中标签
th:object 用于表单数据对象绑定,将表单绑定到后台controller的一个JavaBean参数。常与th:field一起使用进行表单数据绑定
th:src 用于外部资源引入,类似于<script>标签的src属性,常与@{}一起使用。