• EL和JSTL表达式


    一、EL表达式:
    写法:        ${XXX}
    取值范围:page、request、session、application

    1、EL的取值
         1、对一般对象来说,如果取对象里的属性,那么必须有响应属性的get方法才能取到
         2、对于map等键值对保存的对象来说,直接${map1.key1}可取到map1中k1对应的值
         3、对于数组来说,可以通过${数组1[i]} 取到数组1中下标为i的元素
            
    2、EL的param属性
         ${param.xxx}        相当于request.getAttribute("name")

    3、EL的empty属性:
         判断是否空:${empty object}

    4、EL的运算符:
         ${5+3}
         ${5-3}
         ${5*3}
         ${5/3}    或    ${5 div 3}
         ${5%3}    或    ${5 mod 3}
        
         ${empty 5>3}  或    ${5 gt 3}
         ${empty 5<3}  或    ${5 lt 3}
         ${empty 5==3} 或    ${5 eq 3}
         ${empty 5!=3} 或    ${5 ne 3}

    5、其他用法:
         ${pageContext.request.contextPath}    绝对路径
         
         
         
         
    二、JSTL的C标签:(与EL搭配使用)
        导入需要jstl.jar与standard.jar,并在jsp中通过taglib引入standard.jar——>META-INF——>c.tld中的uri
        
        1、<c:out
             <c:out value="${welcome}" escapeXml="false"/>
             escapeXml="true":    默认,会将value中的值直接输出
             escapeXml="false":    如果value的值是html标签,会以html格式输出,比如:字体变红...等等
        
        2、<c:set
             <c:set var="userid" value="root"/>
             userid:${userid}
        
        3、<c:remove
             <c:remove var="userid" />
             userid:${userid}
        
        4、<c:if
             <c:if test="testCondition"  var="varName"  scope="..."
                ...
             </c:if>
             
             <c:if  text="${sessionScope.user.role.roleId} == 2" >  错
             <c:if  text="${sessionScope.user.role.roleId == 2}" >  对
        
        5、<c:choose>
             <c:choose>
                    <c:when test="...">
                            ...
                    </c:when>
                    <c:otherwise>
                            ...
                    </c:otherwise>
             </c:choose>
             
        6、<c:forEach items="..."  var="..." varStatus="index(表示下标),count(表示第几个元素)"  step="..."  begin="..." end="...">
             
            下拉框选中:
        <select ...>
            <c:forEach  items="..."  var="...">
                <c:set var="selectedStr"/>
              <c:if test="...">
                <c:set var="selectedStr" value="selected"/>
              </c:if>
              <option value="..." ${selectedStr}>...</optiion>
            </c:forEach>
        </select>
                 
             下拉框分页:
             <select  onChange="change(this.value)">
                    <c:forEach  begin="0"  end="${requestScope.totalPageCount}"  varStatus="aaa">
                         <option  value="${aaa.count" 
                                 <c:if  test="${requestScope.pageNum == aaa.count}">selected</c:if>
                         >
                        第${aaa.count}页
                </option>
        </c:forEach>
  • 相关阅读:
    基于阿里云GPU云服务器的AIACC助力UC搜索业务性能提效380%,每年节省数千万成本
    如何在 ACK 中使用 MSE Ingress
    面向对象分析与设计的底层逻辑
    当 AI 邂逅绘画艺术,能迸发出怎样的火花?
    是什么让一段20行代码的性能提升了10倍
    我,PolarDB云原生数据库,5年来实现这些重磅技术创新
    一图看懂天河文链如何实现云原生架构升级
    首次全面解析云原生成熟度模型:解决企业「诊断难、规划难、选型难」问题
    C++快速初始化vector
    Grid布局指定列数时,行高自适应为元素高度
  • 原文地址:https://www.cnblogs.com/shipeng22022/p/4614203.html
Copyright © 2020-2023  润新知