美文网首页
EL表达式

EL表达式

作者: 打死你的小乌龟 | 来源:发表于2018-09-07 18:27 被阅读0次

    不是一种语言,只是一个表达式而已,是JSP中专门用于显示数据用的
    主要作用:获取数据并显示到页面上。

    EL:${cart[0].name} 简单,写起来方便。
    实际开发:不要在JSP中使用Java表达式,而要使用EL表达式。

    EL表达式的基本语法

    ${EL表达式}
    EL表达式,是从四大域对象中取数据的。
    EL表达式中没有空指针异常,也没有数组越界,没有字符串连接。

    EL中的变量

    EL表达式中的的变量就是一个基本的存储单元,EL表达式可以将变量映射到一个对象上
    ${ name }

    EL 中的运算符

    1.点运算符(.):用于访问JSP页面中某些对象的属性。
    2.中括号运算符([]):用于访问JSP页面中某些对象的属性。
    3.算数运算符:进行算数运算
    4.比较运算符:用于比较
    5.逻辑运算符:对结果为布尔类型的表达式进行运算
    6.empty运算符:判断某个对象是否为空,是空为true
    7.条件运算符:${A? B:C}三元运算符
    8."()"运算符:改变运算优先级
    

    EL隐式对象

    隐式对象 作用
    1.pageContext 对应于JSP页面中的pageContext对象
    2.pageScope 代表page域中用于保存属性的Map对象
    3.requestScope 代表request域中用于保存属性的Map对象
    4.sessionScope 代表session域中用于保存属性的Map对象
    5.applicationScope 代表application域中用于保存属性的Map对象
    6.param 表示一个保存了所有请求参数的Map对象
    7.paramValues 表示一个保存了所有请求参数的Map对象,它对于某个请求参数, 返回的是一个string类型数组
    8.header 表示一个保存了所有http请求头字段的Map对象
    9.headerValues 表示一个保存了所有http请求头字段的Map对象,返回string类型数组
    10.cookie 表示一个保存了所有cookie的Map对象
    11.initParam 表示一个保存了所有web应用初始化参数的map对象
    

    pageContext对象

    为了获取JSP页面的隐藏对象可以使用EL表达式中的pageContent隐藏对象
    如果某个对象存储的属性名与EL隐式对象的名称相同,EL表达式获取对象属性无法实现

    web域相关对象

    ${pageScope.name }
    ${requestScope.name} 
    ${4.sessionScope.name} 
    ${5.applicationScope.name}
    

    param和paramValues代表请求参数的隐式对象

    获取请求参数

    param相当于request.getParameter()方法
    ${param.num}
    paramValuesrequest.getParameterValues()方法
    ${paramValues.num[0]}
    

    initParam

    该对象可以获取web应用程序中全局初始化参数
    ${initParam.count}

    <context-param>
      <param-name>xxx</param-name>
      <param-value>yyy</param-value>
      </context-param>
       <context-param>
      <param-name>iii</param-name>
      <param-value>jjj</param-value>
      </context-param>
    
        ${initParam.xxx}
        ${initParam.iii}
    
    

    代表HTTP请求消息的隐式对象

    header和headerValues

    定义和使用EL函数

    步骤
    1、定义一个普通类,提供实现功能的静态方法(EL函数只能调用静态方法)
    public class MyFunctions {
        public static String toUppercase(String s){
            return s.toUpperCase();
    2、EL函数进行配置:在WEB-INF目录下建立一个扩展名为tld的xml文件。
    <?xml version="1.0" encoding="UTF-8"?>
    <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
        version="2.0">
        <tlib-version>1.0</tlib-version>
        <short-name>myfn</short-name>
        <uri>http://www.xxx/xxx/functions</uri>//域名作用唯一标识
        <function>
            <name>toUppercase</name>//函数名
            <function-class>com.xxx.xxx.MyFunctions</function-class>
              //方法类型,参数类型    
            <function-signature>java.lang.String toUppercase( java.lang.String )</function-signature>
        </function>
    </taglib>
    3.3、在JSP中使用自定义的EL函数,通过taglib指令引入外部的函数库
    <%@ taglib uri="http://www.itheima.com/jsp/functions" prefix="myfn"%>
    

    相关文章

      网友评论

          本文标题:EL表达式

          本文链接:https://www.haomeiwen.com/subject/sjxhgftx.html