• EL和JSTL


    <h3>EL表达式从哪里取值?一般情况下,从作用域对象中取值</h3>
    ${a} --- ${aaa} --- ${age} --- ${name}
    <h3>EL表达式可以取什么类型的值?基本数据类型、引用数据类型(对象、复合对象、List、Map)</h3>
    ${uuu.realname} --- ${u2.addr.town} --- ${fruits[2]} ---
    ${person1.address.city}
    <h3>EL表达式从哪个作用域中取值?默认从最小作用域中开始寻找,找不到往大的作用域中找,都找不到显示为空</h3>
    ${xxx}
    <h3>EL从指定作用域中取值?
    pageScope、requestScope、sessionScope、applicationScope</h3>
    ${pageScope.xxx }--- ${requestScope.xxx} --- ${sessionScope.xxx } ---
    ${applicationScope.xxx }
    <h3>EL表达式还可以取请求参数中的值:param、paramValues</h3>
    ${param.username} --- ${paramValues.fav[2] }
    <h3>EL表达式除了“.”操作符之外,还有“[ ]”操作符:“[]”可以解析子EL表达式</h3>
    ${uuu["realname"]} --- ${param.type} --- ${uuu[param.type]}
    <h3>EL表达式中的为空判断:empty判断为空的有:空字符串、null、空集合、空map</h3>
    ${empty a1} --- ${empty a2} --- ${empty a3} --- ${empty a4}
    <h3>EL表达式可以进行一些基本的数学运算</h3>
    ${5+4} --- ${5-4} --- ${5*4} --- ${5/4} --- ${5%4} --- ${5+"4"}
    <h3>EL表达式可以进行一些逻辑判断</h3>
    ${5>4} --- ${ 5 == 4} --- ${ 5 eq 4 } --- ${uu1 == uu2} --- ${uu1 eq uu2} --- ${score == 99 }

    <h3>c:out标签:用于将作用域中的对象输出,default属性会在value属性为空时显示</h3>
        <c:out value="${weather}" default="汗流浃背!"></c:out>
    
        <h3>c:set标签:用于将一个数据保存在作用域中(默认最小作用中),通过scope设定存放的作用域</h3>
        <c:set var="name" value="laowang" scope="request"></c:set>
        ${requestScope.name}
    
        <c:set var="table">
            <table border="1" style="border-collapse: collapse;">
                <tr>
                    <td>1*1</td>
                    <td>1*2</td>
                </tr>
                <tr>
                    <td>2*1</td>
                    <td>2*2</td>
                </tr>
            </table>
        </c:set>
        ${table}-${table}-${table}
    
        <h3>c:remove标签:将作用域中的指定key的数据删除(默认删除所有作用域中的指定key的数据)</h3>
        <c:remove var="aaa" scope="page" />
        ${aaa}
    
        <h3>c:if标签:条件判断(单条件)</h3>
        <c:if test="${score >= 80}" var="flag">
            优秀!
        </c:if>
        <c:if test="${!flag}">
            良好!
        </c:if>
        
        <h3>c:choose 、 c:when、 c:otherwise标签:条件判断(多条件)</h3>
        <h4>注意以下几点:1.c:when必须在c:otherwise之前出现</h4>
        <h4>2.c:otherwise只能出现一次</h4>
        <h4>3.c:when和c:when和c:otherwise之前不允许出现其他任何字符</h4>
        <c:choose>
            <c:when test="${score >=80 }">
                优秀!
            </c:when>
            <c:when test="${score >=70 }">
                良好
            </c:when>
            <c:when test="${score >=60 }">
                及格
            </c:when>
            <c:otherwise>
                不及格        
            </c:otherwise>
        </c:choose>
        
        <h3>c:forEach标签:循环</h3>
        <h4>items:循环体,通过使用EL表达式获取循环的内容</h4>
        <h4>begin & end:只能为数字,当没有items属性时,从begin数字循环到end数字;当有items属性时,begin & end就表示下标</h4>
        <h4>step:步长</h4>
        <h4>var:表示每次的循环体</h4>
        <h4>varStatus:当前循环体的状态:有几个属性--first(判断当前循环体是否为第一个)、last(判断当前循环体是否为最后一个)、count(当前循环次数)、index(当前循环体的下标)</h4>
        <c:forEach begin="3" end="9" var="each">
            ${each}
        </c:forEach>
        <br>
        <c:forEach items="4123,2512,222,111,555,677,999" begin="1" end="3" var="each">
            ${each}
        </c:forEach>
        <br>
        <c:forEach items="${persons}" step="2" var="person">
            ${person.username}<br>
        </c:forEach>
        <br>
        <c:forEach items="${persons}" var="person" step="2" varStatus="status">
            ${person.username} --- ${status.first} --- ${status.last} --- ${status.count} --- ${status.index}<br>
        </c:forEach>
        
        <br>
        <table border="1" style="border-collapse: collapse;">
            <tr><td>id</td><td>用户名</td><td>真实姓名</td></tr>
            <c:forEach items="${persons}" var="person">
                <tr><td>${person.id}</td><td>${person.username }</td><td>${person.realname }</td></tr>
            </c:forEach>
        </table>
        
        <h3>c:redirect标签:重定向</h3>
        <%-- <c:redirect url="http://www.baidu.com"></c:redirect> --%>
        
        <h3>c:import标签:指定一个url的页面在本页面中</h3>
        <%--<c:import url="http://www.baidu.com"></c:import> --%>
        
        <fmt:formatDate value="${d1}" pattern="yyyy年MM月dd日 HH时mm分ss秒"/>
        <fmt:parseDate value="${ds}" var="d2" pattern="yyyy/MM/dd HH:mm:ss"></fmt:parseDate>
        
        ${fn:length(phone) }
  • 相关阅读:
    Golang Struct 声明和使用
    docker 中ulimit设置理解
    微服务架构引入的问题及解决方案
    Jenkins 集成Sonar代码质量扫描
    Jenkins和gitlab集成自动构建
    初识微服务架构
    jenkins 集成钉钉机器人通知
    Go 新起点
    shell中的(),{}几种语法用法
    二进制日志配置和运维管理
  • 原文地址:https://www.cnblogs.com/vieta/p/10864498.html
Copyright © 2020-2023  润新知