• 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间接得到这些内置对象,再来使用。
    

      

  • 相关阅读:
    bower使用记录
    前端生成二维码
    删除顽固node_modules
    vue初体验:实现一个增删查改成绩单
    H5常用代码:适配方案5
    H5常用代码:适配方案4
    H5常用代码:适配方案3
    ARFA 教堂的第四次洗礼&斜率优化重学
    CSP考前总结&周二晚+周三晚模拟考总结&洛谷11月月赛 III Div.1总结
    T44253 绝美的挣扎 题解
  • 原文地址:https://www.cnblogs.com/cyjch/p/2342387.html
Copyright © 2020-2023  润新知