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

    在MVC体系结构中,JSP页面只是用来显示数据,但JSP脚本中的表达式功能不够强大,它不能直接对隐式对象中某对象的属性进行显示,需要配合Scriptlet才能显示数据,很是麻烦,如果在JSP页面中使用EL表达式将大大简化JSP页面中的Java代码,在配合JSP标准动作,JSTL,可达到真正的JSP无脚本。
     
    EL(Expression Language)表达式语言,语法:${表达式},例如:${"Beijing 2008"}则在JSP页面输出Beijing 2008,相当于JSP脚本中的<%="Beijing 2008"%>,在EL表达式中的“'”和“"”功能是一样的,表示一个字符串;
     
    在JSP页面中我们可以禁用EL表达式,需要配置page指令的isELIgnored属性,属性值若为true则支持EL表达式,若为false则禁用表达式,默认情况下是支持EL表达式的。
     
    在EL表达式中我们可以使用运算符以达到我们想要的结果,运算符按作用分为以下几种:
     
    1.算术运算符
     
    + 注意:在EL表达式中的‘+’只有数学运算的功能,没有连接符的功能,它会试着把运算符两边的操作数转换为数值类型,进而进行数学加法运算,最后把结果输出。若出现${'a'+'b'}则会出现异常。 例如:${6+6}
    - 例如:${4-3}
    * 例如:${4*3}
    / 例如:${9/3}
    2.关系运算符
     
    > 例如:${8>9}
    >= 例如:${45>=9}
    < 例如:${4<9}
    <= 例如:${9<=8}
    == 例如:${4==4}
    != 例如:${4!=3}
    3.逻辑运算符
     
    && 例如:${false && false}
    || 例如:${true || false}
    ! 例如:${!true}相当于${false}
    4.三元运算符
     
    ? : 例如:${3>2?'是':'不是'}
    在EL表达式中还有一些特殊运算符:
     
    empty 判断EL表达式中的表达式是否为空,例如:${empty sessionScope.user}
    . 是我们最常用的,作用相当于执行Bean中的get方法。 例如:${sessionScope.user.userName}意思是:在会话中得到名称为user的Bean对象,通过“.”运算符执行getUserName();方法,返回存放在Bean中的用户名属性的值。
    [] 作用和“.”运算符的一样,只不过[]运算符可以执行一些不规则的标识符。 例如:${requestScope.user["score-math"]},这个表达式中有不规则的标识符,是不能使用“.”来访问的。
    在EL表达式中为我们提供了许多内置对象,使我们很方便的得到我们想要的数据:
     
    1.从隐式对象中得到数据:
     
    pageScope 例如:${pageScope.user.userName} 相当于<%=page.getAttribute("user").getUserName%>
    requestScope 例如:${requestScope.books} 相当于<%=request.getAttribute("books")%>
    sessionScope 例如:${sessionScope.lastURL} 相当于<%=session.getAttribute("lastURL")%>
    applicationScope 例如:${applicationScope.provice} 相当于<%=application.getAttribute("provice")%>
    2.从请求头中得到数据:
     
    header 例如:${header.referer}得到请求过来的URL
    3.访问JSP页面中的内置对象:
     
    pageContext 例如:${pageContext.request}在EL表达式中我们是不能直接使用JSP页面的内置对象,但可以是用pageContext间接得到这些内置对象,再来使用。

      

  • 相关阅读:
    How to change hostname on SLE
    How to install starDIct on suse OS?
    python logging usage
    How to reset password for unknow root
    How to use wget ?
    How to only capute sub-matched character by grep
    How to inspect who is caller of func and who is the class of instance
    How to use groovy script on jenkins
    Vim ide for shell development
    linux高性能服务器编程 (二) --IP协议详解
  • 原文地址:https://www.cnblogs.com/afengboke/p/4618204.html
Copyright © 2011-2022 走看看