EL表达式个人总结

来源:互联网 发布:非农数据网址 编辑:程序博客网 时间:2024/05/01 22:38
1、语法结构
${expression}
2、[ ]与.运算符
EL 提供“.“和“[ ]“两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用“[ ]“。例如:
${ user. My-Name}应当改为${user["My-Name"]}
如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:
${sessionScope.user[data]}中data 是一个变量
3、变量
EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。
因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。
假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。
属性范围在EL中的名称
Page PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope

注:${param.username}与${username}中,${param.username} <=><%= request.getParameter("username") %>;${username}找的范围大。


4、EL隐含对象 1.与范围有关的隐含对象 
与范围有关的EL 隐含对象包含以下四个:pageScope、requestScope、sessionScope 和applicationScope; 它们基本上就和JSP的pageContext、request、session和application一样; 
在EL中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得其他相关信息。  
例如:我们要取得session中储存一个属性username的值,可以利用下列方法:     session.getAttribute("username") 取得username的值, 在EL中则使用下列方法     ${sessionScope.username}
5.与输入有关的隐含对象 
与输入有关的隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象。  
例如我们要取得用户的请求参数时,可以利用下列方法:     
request.getParameter(String name)     request.getParameterValues(String name) 
在EL中则可以使用param和paramValues两者来取得数据。     ${param.name}     ${paramValues.name} 
6、EL函数(functions)。 
语法:ns:function( arg1, arg2, arg3 …. argN) 
其中ns为前置名称(prefix),它必须和taglib 指令的前置名称一置
0 0
原创粉丝点击