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

    简介:

      JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null。

      JSP EL允许您指定一个表达式来表示属性值。一个简单的表达式语法如下:

          ${expr}

      其中,expr指的是表达式。在JSP EL中通用的操作符是 . 和 {} 。这两个操作符允许您通过内嵌的JSP对象访问各种各样的JavaBean属性。

    EL中的基础操作符

    EL表达式支持大部分Java所提供的算术和逻辑操作符:

    操作符描述
    . 访问一个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 != null ?欢迎您:+ user.username : ''}是错误的。二元运算符用的比较多的还有数据回显。

    //用户名不为空,返回user.username,否则返回 ''
    ${user != null ? user.username : ''}
    

    获取web开发常用对象##

    EL表达式定义了11个隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。

    pageContxet:对应于JSP页面中的pageContext对象(注意:去的是pageContext对象)
    pageScope:代表page域中用于保存属性的Map对象
    requestScope:代表request域中用于保存属性的Map对象
    sessionScope:代表session域中用于保存属性的Map对象
    applicationScope:代表application域中用于保存属性的Map对象
    param:表示一个保存了所有请求参数的Map对象
    paramValues:表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个String[]
    header:表示一个保存了所有请求头字段的Map对象
    headerValues:同上,返回String[]数组。注意:如果头里面有“-”,例如Accept-Encoding,则要headerValues["Accept-Encoding"],也就是用el表达式调用时不能像map.Accept-Encoding,而要map["Accept-Encoding"]
    cookie:表示一个保存了所有cookie的Map对象
    initParam:表示一个保存了所有web应用初始化参数的map对象

    调用java方法##

    EL表达式允许用户开发自定义EL函数,能在jsp页面中通过EL表达式调用java类的方法。

    • 示例:${prefix: method(params)}
    • 在EL表达式中调用的只能是java类的静态方法
    • 这个方法需要在TLD文件中描述成EL函数,才可以被EL表达式调用
    • EL自定义函数用于扩展EL表达式的功能,可以让EL表达式完成普通java程序代码所能完成的功能
  • 相关阅读:
    Codevs_1403_新三国争霸_(Kruskal+动态规划)
    BZOJ_1084_[SCOI2005]_最大子矩阵_(动态规划)
    BZOJ_1180_[CROATIAN2009]_OTOCI_(LCT)
    BZOJ_1611_[Usaco2008_Feb]_Meteor_Shower流星雨_(bfs)
    hdu5338 (二进制,双指针)
    并查集专辑 (poj1182食物链,hdu3038, poj1733, poj1984, zoj3261)
    生成树专题
    生成树相关问题
    uvaLive5713 次小生成树
    如何将无向图变为点/边双连通,如何将有向图变为强连通图
  • 原文地址:https://www.cnblogs.com/lr1402585172/p/10772680.html
Copyright © 2011-2022 走看看