• JSP EL表达式入门1


    1、定义

    EL全名为Expression Language,解决了在开发Java Web应用时经常需要将大量Java代码片段嵌入到JSP页面中导致页面看起来很乱的问题。EL表达式通常与JSTL一起使用(还可以与JavaScript结合使用),EL提供了获取对象及属性的简单方式,还可以用来创建算术表达式和逻辑表达式。在EL表达式内可以使用整型数、浮点数、字符串、常量true和false,还有null

    2、基本语法

    EL的基本语法以 "${" 开头,以 "}" 结尾,中间为合法的表达式,例如:

    ${expression}

    其中expression为有效的表达式。

    3、基础操作符

    操作符

    描述

    .

    访问一个Bean属性或者一个映射条目

    []

    访问一个数组或者链表的元素,也可以访问Bean属性

    ( )

    组织一个子表达式以改变优先级

    +

    -

    减或负

    *

    / or div

    % or mod

    取模

    == or eq

    测试是否相等

    != or ne

    测试是否不等

    < or lt

    测试是否小于

    > or gt

    测试是否大于

    <= or le

    测试是否小于等于

    >= or ge

    测试是否大于等于

    && or and

    测试逻辑与

    || or or

    测试逻辑或

    ! or not

    测试取反

    empty

    测试是否空值

    注意:"[]" 和 "." 运算符都可以访问数据,但如果对象的属性名中包括一些特殊符号(如 "-" 或 ".")时,只能使用 "[]" 运算符来访问对象属性。例如:${user[user-name]} 是正确的,但 ${user.user-name}是错误的!

    4、隐含对象

    隐含对象

    描述

    pageScope

    page 作用域内的属性值的集合

    requestScope

    request 作用域内的属性值的集合

    sessionScope

    session 作用域内的属性值的集合

    applicationScope

    application 作用域内的属性值的集合

    param

    Request 对象的参数,字符串

    paramValues

    Request对象的参数,字符串集合

    header

    HTTP 信息头,字符串

    headerValues

    HTTP 信息头,字符串集合

    initParam

    包含Servlet上下文初始参数名和对应值的集合

    cookie

    包含每个cookie名和值的集合

    pageContext

    用于访问JSP的内置对象

    1)页面上下文对象 pageContext

    ①作用:用于访问JSP内置对象(如request、response、out、session、exception、page,但不能用于获取application、config、pageContext对象)和servletContext。获取这些内置对象后,即可获取其属性。这些属性与对象的 getXXX() 方法对应,使用时去掉方法名中的get,将首字母改为小写即可,例如 request 对象的 getRequestURL 可以写为:

    ${pageContext.request.requestURL}

    其它访问JSP内置对象的例子:${pageContext.out}、${pageContext.response}……

    2)param 和 paramValues 对象的应用

    ①作用:param对象用于获取请求参数的值;如果一个参数名对应多个值时,需要使用paramValues对象获取请求参数的值。

    ②返回结果:param对象返回的结果为字符串(若指定的参数不存在,返回的不是null而是空字符串);paramValues对象返回的结果是数组。

    ③使用示例:

    • param:
    <input type="text" name="user" >
    <%-- 获取user文本框中的值 --%>
    ${param.user}
    • paramValues:
    <input name="subject" type="checkbox" value="Java基础">Java基础
    <input name="subject" type="checkbox" value="Linux基础">Linux基础
    <input name="subject" type="checkbox" value="JSP Web学习">JSP Web学习
    <%-- 表单提交后,获取subject的值 --%>
    ${paramValues.subject[0]}
    ${paramValues.subject[1]}
    ${paramValues.subject[2]}

    3)cookie对象

    ①作用:cookie对象用于获取Cookie对象。如果在cookie中已经设定一个名称为 username 的值,那么可以使用 ${cookie.username} 来获取该 Cookie对象。但是如果想要获取该Cookie中的值,需要使用Cookie对象的value属性。

    ②使用示例:

    <%
        Cookie cookie = new Cookie("username", "itzcn");
        response.addCookie(cookie);
    %>
    <%-- 获取Cookie对象cookie名称为username的值 --%>
    ${cookie.username.value}

    4)用于访问作用域范围的隐含对象:pageScope、requestScope、sessionScope、applicationScope

    ①作用:应用这4个隐含对象指定要查找标示符的作用域后,系统将不再按照默认顺序(page、request、session、application)来查找相应的标示符。这4个隐含对象只能用来取得指定范围内的属性值。

    ②使用示例!:

    <%
        request.setAttribute("a", "hello EL!");
        session.setAttribute("a", "hello JSP!");
      %>
    <%--  如果不指定变量所在的作用域,则系统默认按照顺序page、request、session、application来查找对应的标示符--%>
      ${a}
      ${requestScope.a}
      ${sessionScope.a}
  • 相关阅读:
    批处理手动设置电脑的ip
    用shell脚本生成日志文件
    编译小米mini openwrt
    Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明
    swagger注释API详细说明
    com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95)
    在Java中如何高效判断数组中是否包含某个元素
    阿里云服务器端口开放对外访问权限
    macos 安装telnet命令
    在 Docker 上配置 Oracle
  • 原文地址:https://www.cnblogs.com/GjqDream/p/11652196.html
Copyright © 2020-2023  润新知