zoukankan      html  css  js  c++  java
  • EL表达式

    为了消除jsp中的Java代码

    语法:

    ${EL表达式}

    a.EL不需要导包

    b.在el中调用属性,其实是调用的getXxx()方法

    ${范围.对象.属性.属性的属性 }

    操作符:操作:属性,不是对象

    . : 使用方便

    [] : 如果是常量属性,需要使用双引号/单引号 引起来;比点操作符更加强大

    []强大之处:

    a.可以容纳一些 特殊符号 (.  ?   -)

    b.[]可以容纳 变量属性 (可以动态赋值)

    String x = "a";

    ${requestScope.a}等价于${requestScope["a"]}等价于${${requestScope[x]}

    c.可以处理数组

    ${requestScope.arr[0] }

    普通对象、map中的变量

    通过EL获取JSP  九大内置对象

    ${pageContext }

    ${pageContext.request }

    ${pageContext.sessoin }

    JSTL:比EL更加强大

    需要引入2个jar :jstl.jar   standard.jar

    引入tablib  :

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>    

    其中prefix="c" :前缀

    核心标签库:  通用标签库、条件标签库  迭代标签库

    a.通用标签库

    <c:set>赋值

    i:

    在某个作用域之中(4个范围对象),给某个变量赋值

        <%--

            request.setAttribute("name", "zhangsan") ;

        --%>

            <c:set var="name"    value="zhangsan"   scope="request"/>

              ${requestScope.name }

      <c:set var="变量名"    value="变量值"   scope="4个范围对象的作用域"/>

    ii:

    给普通对象赋值

    在某个作用域之中(4个范围对象),给某个对象的属性复制 (此种写法,不能指定scope属性)

            <c:set target="${requestScope.student}" property="sname"  value="zxs" />

    给map对象赋值

            <c:set target="${requestScope.countries}" property="cn"  value="中国" />

      <c:set target="对象" property="对象的属性"  value="赋值" />     

    注意 <c:set>可以给不存在的变量赋值 (但不能给不存在的对象赋值)

    <c:out>  :显示

    true:<c:out value='<a href="https://www.baidu.com">百度</a>' default="当value为空的,显示的默认值" escapeXml="true" />

    false:    <c:out value='<a href="https://www.baidu.com">百度</a>' escapeXml="false" />

    <c:remove >:删除属性

    <c:remove var="a" scope="request"/>

    选择:

    if(boolean)

    单重选择

    <c:if test="" >

    if else if... esle if... else  /switch

    <c:choose>

        <c:when test="...">   </c:when>

        <c:when test="...">   </c:when>

        <c:when test="...">   </c:when>

        <c:otherwise>   </c:otherwise>

    </c:choose>

    在使用 test="" 一定要注意后面是否有空格

    例如:test="${10>2 }"   true

         test="${10>2 } "  非true

    循环(迭代标签库)

    for(int i=0;i<5;i++)

        <c:forEach  var="name" items="${requestScope.names }" >

            -${name }-

        </c:forEach>

    for(String str:names)

        <c:forEach  var="student" items="${requestScope.students }" >

            ${student.sname }-${student.sno }

        </c:forEach>


    转载请注明出处:https://www.cnblogs.com/stu-jyj3621
  • 相关阅读:
    CentOS7 命令笔记
    MarkDown学习
    系统管理员资源大全
    解决回车键导致的页面无意义刷新
    Tomcat远程调试
    gson 自定义对象转换格式
    maven私服搭建
    大明最不该被遗忘的英烈——李定国
    HashMap实现原理分析(转)
    自定义评分器Similarity,提高搜索体验(转)
  • 原文地址:https://www.cnblogs.com/stu-jyj3621/p/14474444.html
Copyright © 2011-2022 走看看