博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EL表达式总结
阅读量:5815 次
发布时间:2019-06-18

本文共 1624 字,大约阅读时间需要 5 分钟。

在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}得到请求过来的URL3.访问JSP页面中的内置对象:pageContext 例如:${pageContext.request}在EL表达式中我们是不能直接使用JSP页面的内置对象,但可以是用pageContext间接得到这些内置对象,再来使用。

  

转载地址:http://nambx.baihongyu.com/

你可能感兴趣的文章
d3 v4实现饼状图,折线标注
查看>>
微软的云策略
查看>>
Valid Parentheses
查看>>
ES6的 Iterator 遍历器
查看>>
2019届高二(下)半期考试题(文科)
查看>>
nginx 301跳转到带www域名方法rewrite(转)
查看>>
AIX 配置vncserver
查看>>
windows下Python 3.x图形图像处理库PIL的安装
查看>>
【IL】IL生成exe的方法
查看>>
network
查看>>
SettingsNotePad++
查看>>
centos7安装cacti-1.0
查看>>
3个概念,入门 Vue 组件开发
查看>>
没有JS的前端:体积更小、速度更快!
查看>>
数据指标/表现度量系统(Performance Measurement System)综述
查看>>
GitHub宣布推出Electron 1.0和Devtron,并将提供无限制的私有代码库
查看>>
论模式在领域驱动设计中的重要性
查看>>
Spring Web Services 3.0.4.RELEASE和2.4.3.RELEASE发布
查看>>
有关GitHub仓库分支的几个问题
查看>>
云原生的浪潮下,为什么运维人员适合学习Go语言?
查看>>