JSP & EL表达式 & JSTL -2024/10/20
JSP
JSP(全称:Java Server Pages):Java 服务端页面。是一种动态的网页技术,其中既可以定义 HTML、JS、CSS等静态内容,还可以定义 Java代码的动态内容,也就是 JSP = HTML + Java
。
导入JSP依赖
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
事例
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h>你好</h>
${users}
</body>
</html>
EL表达式
//将数据保存到request域中
req.setAttribute("users",users);
//转发
req.getRequestDispatcher("/Jsp_Test.jsp").forward(req,resp);
通过${}就可以获取到request域中的内容
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h>你好</h>
${users}
</body>
</html>
JSTL标签
jstl:jsp标准标签库,使用标签取代jsp上面的java代码
<c:if>标签,相当于if
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>我是个标题</title>
</head>
<body>
<c:if test = "${status == 1}">
<h1>你好</h1>
</c:if>
<c:if test = "${status == 0}">
<h1>FALSE!!!</h1>
</c:if>
</body>
</html>
<c:foreach>
<%--foreach演示--%>
<table border="1" cellspacing="0" width="800">
<tr>
<th>用户名</th>
<th>密码</th>
</tr>
<c:forEach items="${users}" var="user">
<tr>
<td>${user.username}</td>
<td>${user.password}</td>
</tr>
</c:forEach>
</table>
<c:foreach> 用法二
类似于 Java 中的普通for循环。涉及到的 <c:forEach>
中的属性如下
-
begin:开始数
-
end:结束数
-
step:步长
实例代码:
从0循环到10,变量名是 i
,每次自增1
<c:forEach begin="0" end="10" step="1" var="i">
${i}
</c:forEach>