jsp
jsp实现原理
服务器启动,将编写的jsp文件,转译成java文件,再编译成class文件运行
1.1指令
JSP的指令,主要是对当前JSP页面设置属性.
-
page: 设置当前当前jsp的属性 [重要]
-
taglib: 用来给当前jsp引入jstl标签库
-
include: 包含,将其他内容包含至当前页面 [了解]
-
指令语法
<%@指令名 属性名=属性值 %>
1.1.1Page
1.1.2taglib
语法: <%@ taglib uri="" prefix="" %>
用法: 引入jstl标签库
1.1.3include
语法: <%@ include file="路径">
作用: 将file指定路径的文件加入到当前页面,已达到复用的效果
场景:页面的头尾重复部分的内容.
1.2内置对象
内置对象,就是jsp页面中可以直接使用的对象.
这九个对象可以在转译后的xxx_jsp.java中找到这些对象
通过pageContext获得其他八个对象
1.3四大域
2.EL表达式
2.1作用
纯jsp取值: <%=request.getAttribute("username") %>
现在EL取值,${username}
作用: 简化取值操作
语法: ${域key}
2.2取域中的值
2.3隐式对象
常用:${pageContext.request.contextPath}了获得项目名
3.JSTL
3.1使用步骤
- 项目加入jstl和standard的jar包,或者引入pom依赖
- 在需要使用jstl标签的页面,中使用taglib引入库
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
3.2核心标签的使用
3.2.1判断标签
点击查看代码
copy
<%
request.setAttribute("num",0);
%>
<c:if test="${num > 0}">
num > 0
</c:if>
<hr>
<c:choose>
<c:when test="${num > 0}">
num > 0
</c:when>
<c:when test="${num < 0}">
num < 0
</c:when>
<c:otherwise>
num = 0
</c:otherwise>
</c:choose>
3.2.2循环标签
点击查看代码
copy<%--
循环 var是变量
begin从哪里开始
end 到哪结束
step 步长默认为1
--%>
<c:forEach var="i" begin="1" end="10" step="2">
${i}<br>
</c:forEach>
<hr>
<%--
循环
items 就是域中的集合
var 每次循环得到的对象
--%>
<c:forEach var="user" items="${list}">
<div>${user}</div>
</c:forEach>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步