JSP EL表达式

1.定义
灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。它是一种简单的语言,基于可用的命名空间(PageContext 属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型)的访问符、映射到 Java 类中静态方法的可扩展函数以及一组隐式对象。EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能。脚本编制元素是指页面中能够用于在 JSP 文件中嵌入 Java 代码的元素。它们通常用于对象操作以及执行那些影响所生成内容的计算。JSP 2.0 将 EL 表达式添加为一种脚本编制元素。

以前:  <%=request.getParameter("name")%>
现在:${param.name}(注意表达式部分不需要加引号,那么页面将显示一个空格而不是null)

2."." 和 "[]"

一般:${param.name} = ${param["name"]}
但是:当要存取的属性名称中包含有一些特殊字符如 "." 或 "-" 等非字母或数字的符号 或者 在使用动态取值时,就一定要使用 "[]" 运算符。

3.内置对象

(1)与范围有关的内置对象

pageScope、requestScope、sessionScope、applicationScope

(2)与输入有关的内置对象

param 和 paramValues 用来获取表单中提交的信息。前者返回 String 类型数据,后者返回 String[] 类型的数据。如 ${paramValues.name}。

(3)其他隐含对象

Cookie

header  如:${header["UserAgent"]} 获取浏览器的版本信息

headerValues

initParam  如:${initParam.DBDriver} 获取web.xml中配置的相关参数

pageContext 如:${pageContext.request.remoteAddr} 获取用户的IP地址


4.取值范围

pageScope=>requestScope=>sessionScope=>applicationScope=>null

5.自动转换类型

以前:

 <%
     String age = request.getParameter("age");
     int agei = Integer.parseInt(age);
         out.println(age+10);
 %>

现在:

${user.age+10}

6.运算符
(1)+、-(二元)、*、/、div、%、mod、-(一元)
(2)and、&&、or、||、!、not
(3)==、eq、!=、ne、、gt、<=、le、>=、ge
(4)${empty null} ${empty ""}
(5)A ?B :C
注意:
通过获得的参数进行比较判断时,要这样比较:${param.name1 == param.name2}

你可能感兴趣的:(el表达式)