JSP、JSTL标签和EL表达式

这篇博客详细介绍了JSP中的EL表达式,包括其作用、使用方式以及生效条件。接着讲解了JSP标签的应用,通过两个案例展示了页面跳转和携带参数的操作。然后重点探讨了JSTL标签库,强调了其用于弥补HTML标签不足的特点,并列举了核心标签,如格式化、SQL和XML标签。最后,通过三个简单的JSTL实战案例,演示了如何进行条件判断、成绩判断和遍历操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、EL表达式

EL表达式语言,Java统一表达式语言(Unified Expresssion Language,简称JUEL)是一种特殊用途的编程语言。

作用:

  • 获取数据
  • 执行运算
  • 获取web开发的常用对象

使用:${}

注意:EL表达式只有在Servlet2.4/JSP2.0版本下才会生效,如果在别的版本使用需要在JSP头文件加上<%@ page isELIgnored=“false”%>。

二、JSP标签

案例1:页面跳转
在这里插入图片描述
项目结构:
在这里插入图片描述
效果:
在这里插入图片描述

案例2:页面跳转并携带参数

修改案例1代码如下:
在这里插入图片描述
效果:
在这里插入图片描述

三、JSTL标签

JSTL标签库的使用就是为了弥补HTML标签的不足;他自定义许多标签,可以供我们使用,标签的功能和Java代码一样。

可以参考菜鸟教程:官网

核心标签(掌握部分):
在这里插入图片描述

格式化标签:了解即可

SQL标签:了解即可

XML标签:了解即可

JSTL标签库使用步骤:

  • 引入对应的taglib;
  • 使用其中的方法;
  • 注意:在Tomcat也需要引入jstl的包,否则会报错: JSTL解析错误

简单案例1:

编写coreIf.jsp代码,实现用户名判断:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>
<%--引入JSTL核心标签库,我们才能使用JSTL标签--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title>Title</title>
</head>
<body>
<h2>if测试</h2>
<hr>

<%--使用El表达式获取表单中的数据--%>
<form action="coreIf.jsp" method="get">
    <input type="text" name="userName" value="${param.userName}">
    <input type="submit" value="提交">
</form>

<%--判断如果提交的用户是管理员,则登录成功--%>
<c:if test="${param.userName=='admin'}" var="isAdmin">
    <c:out value="欢迎你,管理员!"></c:out>
</c:if>

<c:out value="${isAdmin}"></c:out>
</body>
</html>

效果:
在这里插入图片描述

简单案例2:

编写coreChoose.jsp,实现成绩判断:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>

<html>
<head>
    <title>Title</title>
</head>
<body>
    <%--定义一个变量score,值为85--%>
    <c:set var="score" value="85"></c:set>

    <c:choose>
        <c:when test="${score>=90}">
            你的成绩为优秀
        </c:when>
        <c:when test="${score>=80}">
            你的成绩为良好
        </c:when>
        <c:when test="${score>=70}">
            你的成绩为一般
        </c:when>
        <c:when test="${score<=60}">
            你的成绩为不及格
        </c:when>
    </c:choose>
</body>
</html>

效果:
在这里插入图片描述

简单案例3:

编写coreForEach.jsp,实现遍历功能:

<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>
<%--引入JSTL核心标签库,我们才能使用JSTL标签--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    ArrayList<String> people = new ArrayList<>();
    people.add(0 , "张三");
    people.add(1 , "李四");
    people.add(2 , "王五");
    people.add(3 , "赵六");
    people.add(4 , "田七");
    request.setAttribute("list" , people);
%>

<c:forEach var="people" items="${list}">
    <c:out value="${people}"/><br>
</c:forEach>

<hr>
<%--
var , 每一次便利出来的变量
items,遍历的对象
begin,哪里开始
end,到哪里
step,步长
--%>

<c:forEach var="people" items="${list}" begin="1" end="3" step="2">
    <c:out value="${people}"/><br>
</c:forEach>
</body>
</html>

效果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值