首页 > 技术文章 > javaweb之EL表达式语言

taoHongFei 2018-03-15 16:21 原文

一、基本语法

EL表达式是一种简洁的数据访问语言。

基本形式:${ var}

访问对象的属性及数组的元素

使用“.”号访问对象的属性 ${customer.name}

使用“[ ]”访问对象的属性${customer["name"]}

[ ]也可以用来访问数组元素

EL表达式的隐藏对象---11个,都是java.util.Map类型

applicationScope----把web范围内的属性名和属性值进行映射

cookie--------把客户请求中的Cookie名和Cookie对象进行映射

  ${cookie.username.value}<=====>调用名为"username"的Cookie对象的getValue()方法

header-----把Http请求头部的项目名和项目值进行映射

  ${header["user-agent"]}<===><%=request.getHeader("user-agent")%>

headerValues-----把Http请求头部的项目名和所有匹配的项目值数组进行映射

initParam----把web应用的初始化参数名和参数值进行映射

pageContext-----javax.servlet.jsp.PageContext

pageScope----把页面范围内的属性名和属性值进行映射

param----把客户请求中的请求参数名和参数值进行映射

  ${param.username}<====><%=request.getParameter("username")

paramValues----把客户请求中的请求参数名和所有匹配的参数值数组进行映射

responseScope---把请求范围内的属性名和属性值进行映射

sessionScope---把会话范围内的属性名和属性值进行映射

 

简单的例子--读取html表单数据

 

 

 

二、定义使用EL函数

EL函数对应java类中的方法,该java类必须定义为public类型,并且作为函数的方法必须声明为public static.

java类---编译--在标签库描述文件中映射java类里面的方法(mytaglib.tld)---web.xml文件加入<taglib>元素

 

注意一个问题  EL表达式里面的变量为命名变量,不是jsp里面的局部变量或实例变量,而是存放在特定范围内的属性。命名变量的名字和属性名字对应。

 

推荐阅读