EL表达式

来源:互联网 发布:大学生如何开淘宝网店 编辑:程序博客网 时间:2024/06/06 16:44
EL存取变量、表达式运算和读取内置对象等内容提供了新的操作方式


一、EL基本语法  :${标识符}
1、${studentName} 作用域对象中设置的属性 也可 pageContext.studentName 指定作用域


pageContext.findAttribute("studentName")  在四个作用域中找,找不到则返回为""
2、EL用于以下情形
静态文本
标准标签和自定义标签(可以作为元素属性的值,也可以在自定义或者标准动作元素的内容中使用)
EL不能在脚本程序中使用


二、EL提供[]  .  的运算符
用来访问Bean对象的  可以用对象名.属性  或 对象名["属性名"] 来访问
当属性名称包含的特殊的字符 如- _等。就必须用["属性名"]来访问


${student[name]}  动态取值, 如果name的值为zhan,那它取的是
student.zhan的值
. [] ----某一个作用域范围的对象的属性值
验证运算符:empty 用来检索一个值是否为numm或者empty


遇见情况:
1:普通变量
2:模拟Servlet获取数据封装在StudentBean对象,把该对象
3:javabean对象中某些属性又是另一类对象
4:集合对象
5:Map类型的集合  如果键为数字,则只能用[]来表示


三、作用范围有关的隐式对象


1、如果没有指定作用域的范围:pageScope requestScope  sessionScope applicationScope这样的顺序依次查找
requestScope  pageScope  sessionScope applicationScope
${sessionScope.属性名}  在session作用域中获取属性


2、 
<%--读取请求对象中封装的参数 --%>
 ${param.pageNo }
 3、
<%--如果一属性名对应多值的情况 --%>
 ${paramValues.pageNo }
4、
 <%--cookie对象 --%>
 <br/>
 <%
 Cookie cookie=new Cookie("name","zhangsan");
 cookie.setMaxAge(24*3600);
 response.addCookie(cookie);
  %>
  
  ${cookie.name.value }
5、
 <%--获取请求消息头headerVlues 所有的请求消息头 --%>
  ${header.cookie }
  ${headerValues }
  ${header["user-agent"] }<br/>
6、
  <%--读取application初始化参数 --%>
  ${initParam.ecording }
7、
  <%--pageContext 可以通过次对象得到其他内置对象 --%>
  ${pageContext.request.queryString }<br/>


四、禁用EL表达式
<%--禁用EL 设置成true就禁用--%>
<%@ page isELIgnored="true"%>
如果像禁用全部应用程序中的EL 在web.xml配置文件中修改


   <jsp-config>
   <jsp-property-group>
   <url-pattern>*.jsp</url-pattern>
   <el-ignored>true</el-ignored>
   </jsp-property-group>
   </jsp-config>
   

原创粉丝点击