15 javaweb --EL表达式、JSP标签、JSTL标签、

EL表达式、JSP标签、JSTL标签、

EL表达式: ${ }

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

jsp标签 <jsp: />

DEMO

<jsp标签请求转发,并携带参数

<%--
  Created by IntelliJ IDEA.
  User: xubainan
  Date: 2021/3/4
  Time: 1:38 下午
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8"  language="java" %>
<% request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
%>

<html>
<head>
    <title>jsp标签</title>
</head>
<body>
    <jsp:forward page="/jsplable2.jsp">
        <jsp:param name="username" value="labixiaoxin"/>
        <jsp:param name="nickname" value="蜡笔小新"/>
    </jsp:forward>
</body>
</html>

接收参数并打印

<%--
  Created by IntelliJ IDEA.
  User: xubainan
  Date: 2021/3/4
  Time: 1:39 下午
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<% request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
%>

<html>
<head>
    <title>222</title>
</head>
<body>
<h2>22222</h2>
<%--不常用的方法--%>
<%= request.getParameter("nickname")%> <br>

<%--常用方法--%>
${param.username}

</body>
</html>

JSTL标签

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

核心标签 C(掌握部分)

格式化标签

SQL标签

XML 标签

最常用的<c:forEach>

在这里插入图片描述

STL标签库使用步骤

  • 引入对应的 taglib
    • <%@ taglib prefix=“c” uri=“http://java.sun.com/jstl/core” %> 这个版本不支持el 表达式
  • 使用其中的方法
  • 在Tomcat 也需要引入 jstl的包,否则会报错:JSTL解析错误 (tomcat9目前不会,10有可能会)

Demo01

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
<head>
    <title>jstl -c标签</title>
</head>
<body>
<%--测试一个C标签--%>
    <c:out value="看到这句话 说明jstl引入成功"/>

</body>
</html>

Demo02 c:if

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--画个表单--%>
<form action="jstlcoreif.jsp" method="get">
    用户名: <input type="text" name="username" value="${param.username}">
    <input type="submit">
</form>
<%--
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> 这个版本不支持el 表达式
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %> 这个版本可以在test中写el表达式
--%>
    <c:if test="${param.username=='admin'}" var="isAdmin">
        <c:out value="管理员登陆成功" />
    </c:if>
<%--自闭和标签,和html一样--%>
<c:out value="${isAdmin}"/>
</body>
</html>

Demo03最重要的。需要掌握

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.ArrayList" %><%--
  Created by IntelliJ IDEA.
  User: xubainan
  Date: 2021/3/4
  Time: 2:26 下午
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>C:foreach</title>
</head>
<body>
<%--    假设这是模型提交过来的数据--%>
<%--数据--%>
<%
    ArrayList<String> name =new ArrayList<>();
    name.add("张三");
    name.add("李四");
    name.add("王五");
    name.add("赵六");
    name.add("田七");
    request.setAttribute("list",name);
%>

<%--前端遍历数据--%>

    <table>
        <th>编号</th>
        <th>姓名</th>
        <c:forEach var="item" items="${list}" varStatus="status">
        <tr>
            <td>${status.count}</td>
            <td>${item}</td>
        </tr>
        </c:forEach>
    </table>
</body>
</html>

Demo04 c:choose c:when

<%--
  Created by IntelliJ IDEA.
  User: xubainan
  Date: 2021/3/4
  Time: 2:51 下午
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<html>
<head>
    <title>c choose c when</title>
</head>
<body>
<%--定义一个变量 跟js很像 var表示变量名, value=变量值--%>
<c:set var="score" value="85"/>

<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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值