这是我参与11月更文挑战的第10天,活动详情查看:2021最后一次更文挑战
了解模板引擎
模板引擎(用于Web开发)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
- 置换型模板引擎
就是将规定好的文本标记替换为目标内容。这种模板引擎实现简单,除了标签替换之外,很少支持诸如子模板引用、流程控制等功能。置换型模板引擎通常用于业务逻辑不是很复杂的项目,比如生成短信、生成电子邮件,甚至有很多代码生成器也在用它。可以说,置换型模板引擎的思想是整个模板引擎界的基础。
- 解释型模板引擎
解释型模板引擎的原理还是标记置换。只不过有了解释器的存在,可以支持更加复杂的标记和语法。
- 编译型模板引擎
它通过解析引擎和一系列的算法将我们定义的模板转换为页面文件,然后直接访问页面文件即可。
模板引擎原理 :
页面:Hello ,<%=name%>
数据:{name:'张三'}
展示的内容 :
常见模板引擎 jsp 、freemarker 、thymeleaf、 velocity
JSP的相关概念及运行过程
概念 Java Server Page(java服务器端页面技术),是Sun公司制定的一种服务器端动态页面生成技术的规范;
JSP的结构 HTML标签 + JAVA代码 ,即在HTML页面中嵌入java代码
JSP 的几种写法
Java代码片段:<%java代码片段;%>
Java代码表达式:<%=java代码表达式%>
Java方法:<%!java的方法%>
三大指令
page指令
import 用于导包的,可以一次性导入多个包,中间用逗号隔开,也可以使用多次page指令进行导包
pageEncoding 告诉JSP引擎,JSP文件保存的时候应采用的编码格式
contentType 等价于response.setContentType()
errorPage 指向错误处理页面(需要你手动书写错误页面)
isErrorPage 可以写true/false,即定义这个页面是否是错误页面,默认为false;注意,这个属性和上面errorPage属性一般是成对出现的,成对并不是指在一个页面都出现,而是指关联着出现;
session 可以写true/false,默认为true,即表示当前页面是否支持session
isELIgored 可以写true/false,表示这个JSP 是否支持EL表达式,默认为true
include指令
这个指令里面最主要的属性是file ,用来表示这个页面中包含哪个页面
taglib指令
Taglib指令是定义一个标签库以及自定义标签的前缀
九大对象
七大动作
JSTL的概念 : JSP标准标签库是一个JSP标签集合,它封装了JSP应用的通用核心功能。JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。
JSTL的分类:
- 核心标签 <%@ taglib prefix="c" uri="java.sun.com/jsp/jstl/co…
- 格式化标签
- SQL标签
- XML标签
- JSTL函数
参考网址 www.runoob.com/jsp/jsp-jst…
EL的概念
expression language 主要是用来简化JSP中的表达式的代码,可以很方便的以标签的形式来代替jsp中的部分java代码,以提高代码的可读性。
语法:${el语句}
Springboot下的JSP的使用
- 引入JSP的starter
- 构建JSP目录
- 配置JSP和数据库
- 让Springboot项目能创建JSP文件
- 创建一个JSP文件
- 书写controller,并且完成交互
- 完成jsp页面数据展示
pom
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
application.properties
//设置jsp的访问目录
spring.mvc.view.prefix=/WEB-INF/jsp/
//设置jsp文件以什么结尾
spring.mvc.view.suffix=.jsp
controller
@RequestMapping("/hi")
public String sayHi(){
return "welcome";
}
jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>这是springboot下的jsp</title>
</head>
<body>
welcome to my word
</body>
</html>