JavaWeb--EL表达式&JSTL 标签库(二)

简介: JavaWeb--EL表达式&JSTL 标签库(二)

二、JSTL 标签库



JSTL标签库全称是指JSP Standard Tag LibraryJSP标准标签库。是一个不断完善的开放源代码的JSP标签库。


EL表达式主要是为了替换jsp中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个jsp页面变得更佳简洁。


JSTL 由五个不同功能的标签库组成。


image.png


JSTL 标签库的使用步骤

先导入jstl标签库的jar包

taglibs-standard-impl-1.2.1.jartaglibs-standard-spec-1.2.1.jar


第二步,使用taglib 指令引入标签库


<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
core 核心库使用
<c:set />
使用set标签可以往域中保存数据
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: Jack
  Date: 2021/12/25
  Time: 19:54
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--
    域对象.setAttribute( key , value);
    scope属性设置保存到哪个域
        page表示Pagecontext域
        request表示Request域
        session表示Session域
        application表示ServletContext域
    var属性   设置key是多少
    value属性 设置值
--%>
保存之前:${ requestScope.abc}<br/>
<c:set scope="request" var="abc" value="abcValue"/>
保存之后:${ requestScope.abc}<br/>
</body>
</html>


image.png

<c:if />
<c:if test="${12 == 12 }">
    <h1> 12等于12 </h1>
</c:if>
<c:if test="${12 != 12}">
    <h1> 12 不等于 12</h1>
</c:if>


<c:choose > <c:when > <c:otherwise >标签

多路判断,跟switch…case…default非常类似


<%--choose标签开始选择判断--%>
<%--when表示每一种判断的情况--%>
<%--otherwise标签表示剩下的情况--%>
<%--<c : choose> <c:when> <c :otherwise>标签使用时需要注意的点:--%>
<%--    1,标签里不能使用htmL注释,要使用jsp注释--%>
<%--    2,when标签的父标签一定要是choose标签--%>
<%
//    在域里设置一个属性
    request.setAttribute("height",178);
%>
<c:choose>
    <c:when test="${requestScope.height > 190}">
        <h2>我是彭于晏</h2>
    </c:when>
    <c:when test="${requestScope.height > 180}">
        <h2>我是吴彦祖</h2>
    </c:when>
    <c:when test="${requestScope.height > 170}">
        <h2>我是胡歌</h2>
    </c:when>
    <c:otherwise>
        <h2>你比它们都帅!</h2>
    </c:otherwise>
</c:choose>


image.png


<c:forEach />
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: Jack
  Date: 2021/12/25
  Time: 22:46
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%--遍历1到10的情况
        begin属性设置开始的索引
        end属性设置结束的索引
        var属性表示循环的变量
        for(int i = 1; i<10 ; i++)
    --%>
        <c:forEach begin="1" end="10" var="i">
            ${ i }
        </c:forEach>
</body>
</html>


image.png

这玩意是真的灵活


<table border="1">
    <c:forEach begin="1" end="10" var="i">
    <tr>
        <td>${ i }</td>
    </tr>
    </c:forEach>
</table>


image.png


遍历Object数组


<%
    request.setAttribute("arr",new String[]{"123456789","32432423534"});
%>
<c:forEach items="${requestScope.arr}" var="item">
    ${item}<br>
</c:forEach>


遍历map集合


<%
    Map<String, Object> map = new HashMap<>();
    map.put("key1","value1");
    map.put("key2","value2");
    map.put("key3","value3");
    request.setAttribute("map",map);
%>
<%--item是数据域中的集合--%>
<c:forEach items="${requestScope.map}" var="entry">
    <h1>${entry.key} = ${entry.value}</h1>
</c:forEach>


相关文章
|
7月前
EL表达式和Jstl常见的用法
EL表达式和Jstl常见的用法
|
XML SQL Java
EL表达式和JSTL
EL表达式和JSTL
114 0
|
7月前
|
存储 XML SQL
jsp、EL表达式、Jstl使用
jsp、EL表达式、Jstl使用
|
7月前
|
Java 数据库
el表达式与jstl的用法
el表达式与jstl的用法
|
7月前
|
机器学习/深度学习 算法 前端开发
深入浅出剖析EL表达式和JSTL
深入浅出剖析EL表达式和JSTL
56 0
深入浅出剖析EL表达式和JSTL
|
XML SQL Java
JavaWeb--EL表达式&JSTL 标签库
JavaWeb--EL表达式&JSTL 标签库
77 0
QGS
|
存储 SQL XML
浅谈EL表达式和JSTL常用标签
EL表达式,全称是Expression Language。意为表达式语言。它是Servlet规范中的一部分,是JSP2.0规范加入的内容。其作用是用于在JSP页面中获取数据,从而让我们的JSP脱离java代码块和JSP表达式。
QGS
101 0
|
Java 数据安全/隐私保护
|
前端开发 Java
JSP简介&&EL表达式&& JSTL
JSP简介&&EL表达式&& JSTL
JSP简介&&EL表达式&& JSTL
|
存储 Java
【JavaWeb】之JSTL & EL表达式(下)
【JavaWeb】之JSTL & EL表达式(下)
111 0
【JavaWeb】之JSTL & EL表达式(下)

热门文章

最新文章