zoukankan      html  css  js  c++  java
  • JavaWeb开发技巧——EL、JSTL

    EL表达式

    用于取值,相比 JSP 语法更加简洁

    ${ }

    可以从某个作用域中取值

    <%--从 page 作用域中查找account--%>
    ${pageScope.account}
    <%--从 request 作用域中查找account--%>
    ${requestScope.account}
    <%--从 session 作用域中查找account--%>
    ${sessionScope.account}
    <%--从 application 作用域中查找account--%>
    ${applicationScope.account}

    若不指定作用域,默认会按照作用域的范围从小到大依次查找,找到第一个为止,都找不到的话则为空
    作用域从小到大:page -> request -> session -> application

     

    JSTL

    用于选择、判断、循环等操作。

    JSTL有多种标签:

    <%--JSTL 核心标签--%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%--JSTL 格式化标签--%>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%--JSTL SQL标签--%>
    <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
    <%--JSTL XMLb标签--%>
    <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
    <%--JSTL 函数标签--%>
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

    语法:前缀名: 标签

    常用标签:

    1、set —— 用于将值保存在指定作用域

    <%-- var="变量名"  value="值" scope="保存在哪个作用域(page、request、session、application)"--%>
    <c:set var="userName" value="zhangsan" scope="page"></c:set>
    <span>${userName}</span><%--配合EL表达式取值--%>

    2、out —— 将结果输出

    <%--取值--%>
    <c:out value="${userName}"></c:out>

    3、remove —— 删除某个值

    <%--删除userName的值--%>
    <c:remove var="userName"></c:remove>

    4、if —— 判断

    <c:if test="${age>20}">
        ...
    </c:if>

    5、choose —— 选择,类似switch方法

    <c:choose>
    
        <%--符合该条件时执行--%>
        <c:when test="${age>20&&age<30}">
            ...
        </c:when>
    
        <%--符合该条件时执行--%>
        <c:when test="${age<20}">
            ...
        </c:when>
    
        <%--之前条件都不满足时,执行这个--%>
        <c:otherwise>
            ...
        </c:otherwise>
    </c:choose>

    6、forEach —— 迭代循环遍历集合

    <%--迭代标签 用于迭代集合--%>
    <c:forEach items="${users}" var="user">
        <span>${user.name}</span>:<span>${user.age}</span>
       ...
    </c:forEach>

    该标签还有一些其他属性

    begin  :从哪个下标开始迭代,默认值为0
    end:迭代到第几个,默认值为集合的长度
    step:迭代的步长
    varStatus:迭代项的状态变量名,可以获取迭代项的相关状态

    例:

    <%--迭代标签 用于迭代集合--%>
    <c:forEach items="${users}" var="user" begin="2" end="6" step="2" varStatus="userStatus">
        <span>${user.name}</span>:<span>${user.age}</span><br>
    
        计数:${userStatus.count} <br>
        步长:${userStatus.step} <br>
        开始位置: ${userStatus.begin} <br>
        结束位置:${userStatus.end} <br>
        下标:${userStatus.index} <br>
        是否是第一个:${userStatus.first} <br>
        是否是最后一个:${userStatus.last}<br>
    </c:forEach>
  • 相关阅读:
    华为机试题 二叉查搜索树 判断两序列是否为同一二叉搜索树序列
    华为机试题 火车进站
    Linux命令学习 rmdir
    Linux命令学习 rm
    Linux命令学习 mkdir
    Linux命令学习 du
    Linux命令学习 pwd
    Linux命令学习 ls
    Linux命令学习 cd
    伪代码编程过程
  • 原文地址:https://www.cnblogs.com/52bb/p/13944671.html
Copyright © 2011-2022 走看看