JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null
EL表达式在前端开发的使用中有着很大的便捷之处,能够提高开发人员开发的效率,它是一种简单的语言,提供了在jsp中简化表达式的方式,使jsp页面的处理程序更加简洁,便于开发维护。
EL简单语法:
一般为${...},在中间添加属性来表达属性值,
当JSP编译器在属性中见到"${}"格式后,它会产生代码来计算这个表达式,并且产生一个替代品来代替表达式的值。
例如:${expr}
在EL表达式中也可以使用 () 来表示子表达式,例如:${( x + y ) * z}
EL中的基础操作符:
1. . | 访问一个Bean属性或者一个映射条目 |
2. [] | 访问一个数组或者链表 |
3. ( ) | 来表示一个子表达式,用于改变优先级 |
4. + | 加 |
5. - | 减 |
6. * | 乘 |
7. / | 除 |
8. % | 取余 |
9. == | 相等 |
10. != | 不相等 |
11. < | 小于 |
12. > | 大于 |
13. <= | 小于或等于 |
14. >= | 大于或等于 |
EL隐含对象:
一,范围相关
Page | PageScope | 作用于页面范围 |
Request | RequestScope | 作用于请求范围 |
Session | SessionScope | 作用于会话范围 |
Application | ApplicationScope | 作用于应用范围 |
二,参数及HTML相关
param | 将请求参数名称映射到一个数值数组(通过调用 ServletRequest.getParameter (String name) 获得)。它与 param 隐式对象非常类似,但它检索一个字符串数组而不是单个值。表达式 ${paramvalues. name} 相当于 request.getParamterValues(name |
paramValues | 将请求参数名称映射到单个字符串参数值(通过调用 ServletRequest.getParameter (String name) 获得)。getParameter (String) 方法返回带有特定名称的参数。表达式 ${param . name}相当于 request.getParameter (name)。 |
header | 将请求头名称映射到一个数值数组(通过调用 ServletRequest.getHeaders(String) 获得)。它与头隐式对象非常类似。表达式 ${headerValues. name} 相当于 request.getHeaderValues(name)。 |
headerValues | 将请求头名称映射到单个字符串头值(通过调用 ServletRequest.getHeader(String name) 获得)。表达式 ${header. name} 相当于 request.getHeader(name)。 |
三,pageContext
pageContext对象是JSP中pageContext对象的引用,这是JSP页的上下文,它可以用于访问JSP隐式对象,如请求,响应,会话,输出,servletContext等。
例如:${pageContext.response}为页面的响应对象赋值。
四,作用域对象
pageScope,requestScope,sessionScope,applicationScope变量用来访问存储在各个作用域层次的变量。
举例来说,如果您需要显式访问在applicationScope层的box变量,可以这样来访问:applicationScope.box。