引入 jsp 的集成 jar包:
jstl
jstl
1.2
org.apache.tomcat.embed
tomcat-embed-jasper
引入 jsp 运行插件:
springboot_day1
org.springframework.boot
spring-boot-maven-plugin
配置文件 中 配置 视图解析器:
spring.mvc.view.prefix=/ # / 代表访问项目中webapp中页面
spring.mvc.view.suffix=.jsp
- 第一种方式:使用插件启动
- 第二种方式:使用 idea 中指定工作目录启动[推荐]
通过 http://localhost:8080/index.jsp
可以访问到 默认 的 index.jsp 界面。
创建一个 /webapp/back/index.jsp
页面:
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
<%@page contentType=“text/html; UTF-8” pageEncoding=“UTF-8” isELIgnored=“false” %>
this is Back Directory Hello World!
获取项目名字: ${requestScope.name} ${name}
<c:forEach items=“${requestScope.users}” var=“user”>
ID: ${user.id}
NAME: ${user.name}
AGE: ${user.age}
BIR: ${user.bir}
---------------------------------------------
</c:forEach>
配置文件中通过 server.servlet.jsp.init-parameters.developmetn=true 开启热部署了
写一个控制器:
@Controller // 注意区别, 这里不用 @RestController
@RequestMapping(“user”)
public class UserController {
@GetMapping(“findAll”)
public String findAll(HttpServletRequest request, Model model) {
System.out.println(“查询所有”);
model.addAttribute(“name”, “zhenyu”);
List users = new ArrayList<>(Arrays.asList(
new User(“1”, “zhenyu”, 20, new Date()),
new User(“2”, “chenchen”, 23, new Date())));
model.addAttribute(“users”, users);
return “back/index”; // 视图解析器: 前缀+逻辑名+后缀 = /back/index
// return “index”; 视图解析器: 前缀+逻辑名+后缀 = /index.jsp
}
}
访问路径:localhost:8080/user/findAll
==================================================================================
Thymeleaf 是跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP,相较与其他的模板引擎相比,Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。(jsp 必须运行服务器才能访问)
org.springframework.boot
spring-boot-starter-thymeleaf
配置文件:
使用模板目录
spring.thymeleaf.prefix=classpath:/templates/
使用模板后缀
spring.thymeleaf.suffix=.html
使用模板编码
spring.thymeleaf.encoding=UTF-8
使用模板响应类型
spring.thymeleaf.servlet.content-type=text/html
默认无法直接访问templates下的页面, 需要设置
以后static下放css与js, templates下放页面
spring.resources.static-locations=classpath:/templates, classpath:/static
引入下面的依赖是为了可以直接访问 html 页面:
spring.resources.static-locations=classpath:/templates, classpath:/static
例如 不经过控制器 访问 resources/templates/hello.html
:如果不配置上面则无法访问。
http://localhost:8080/index.html
使用 Thymeleaf 模板页面 默认放在 resources/templates
目录中
创建一个 /resources/templates/hello.html
页面:
SpringBoot 集成 Thymeleaf!!!
编写控制器:
@Controller
@RequestMapping(“/hello”)
public class HelloController {
@GetMapping(“/hello”)
public String hello() {
System.out.println(“hello spring boot!”);
return “hello”;
}
}
测试访问:
http://localhost:8080/hello/hello
=================================================================================
基本语法包含以下:后面介绍一些常用的,更具体的用到还需要查阅资料。
在页面中使用 Thymeleaf 时必须加入以下命名空间:
展示单个数据 th:text、th:utext、th:value
控制器中设置数据:
// 控制器中设置数据
model.addAttribute(“name”, “振宇”); // 或者 request.setAttribute(“name”, “振宇”);
model.addAttribute(“username”, “yusael”);
- 页面中获取原样数据(不解析数据中的 html 标签):
- 获取并解析含有 html 标签 的数据:
- 将数据赋值给表单元素:
总结:
-
使用
th:text="${属性名}"
获取对应数据,获取数据时会将对应标签中数据清空; -
使用
th:utext="${属性名}"
获取对应的数据,可以将数据中 html 先解析再渲染到页面; -
使用
th:value="${属性名}"
获取数据直接作为表单元素 value 属性
// 控制器中设置数据
model.addAttribute(“user”, new User(“1”, “振宇”, 21, new Date()));
id:
name:
age:
bir: ====日期格式化
// 控制器中设置数据
model.addAttribute(“user”, new User(“1”, “振宇”, 21, new Date()));
青年
运算符:
-
gt
: great than>
-
ge
: great equal>=
-
eq
: equal==
-
lt
: less than<
-
le
: less equal<=
-
ne
: not equal!=
// 控制器中设置数据
List users = Arrays.asList(
new User(“2”, “张三”, 23, new Date()),
new User(“3”, “李四”, 24, new Date())
);
model.addAttribute(“users”, users);
- 直接遍历集合:
-
- 遍历时获取遍历状态:
- 当前遍历的次数:
当前遍历的索引:
当前遍历是否是奇数行:
当前遍历是否是偶数行:
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-eclSwE4y-1715069036647)]
[外链图片转存中…(img-EhqHJ5Cw-1715069036647)]
[外链图片转存中…(img-lgePyT4T-1715069036648)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!