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>
  • 相关阅读:
    五大Java开源论坛
    mysql limit,offset 区别
    查询某个字段存在于哪几个表
    C++分享笔记:5X5单词字谜游戏设计
    Linux分享笔记:系统状态检测命令小结
    Linux分享笔记:查看帮助命令 & 常用系统工作命令
    数据结构(C语言)分享笔记:数据结构的逻辑层次、存储层次
    Linux分享笔记:shell终端的介绍
    Java开发学生管理系统
    JAVA使用JDBC连接,修改MySQL数据库(比较乱)
  • 原文地址:https://www.cnblogs.com/52bb/p/13944671.html
Copyright © 2011-2022 走看看