EL表达式

EL表达式

EL表达式 是 JSP技术中原生支持的 表达式解析
格式:
${表达式内容}
理解:
1.EL表达式是从域或者对象范围内查找变量数据的,如果没有传入域,则它会有默认的查找顺序
2.EL表达式返回的是一个显示结果,只能写在标签内,不能直接写在<% %>的代码内

1. 11大内置对象

  • pageScope
  • requestScope
  • sessionScope
  • applicationScope
  • param 一个请求参数值
  • paramValues 一组请求参数值
  • header 一个请求头值
  • headerValues 一组请求头值
  • initParam 初始化参数
  • cookie cookie值
  • pageContext JSP中的PageContext ,万能对象。

2.查找顺序

当EL表达式中的变量不给定范围时,则默认在page范围查找,然后依次在request、session、application范围查找
session.setAttribute("ppp","789");
${ppp}
或者指定查找范围:
${sessionScope.get("ppp")}

3.访问类方法和属性

实例化一个类后想要访问它的属性:
${实例类.属性名}
下面两种格式主要防止属性名中有特殊字符
${实例类['属性名']}
${实例类["属性名"]}

<%
  People people1 = new People();
  people1.setId(10);
  people1.setName("张三");
  pageContext.setAttribute("people1",people1);
%>

${people1.name}

EL表达式_第1张图片

访问它的方法:
${实例类.方法名()}

<%

  People people1 = new People();
  people1.setId(10);
  people1.setName("张三");


  pageContext.setAttribute("people1",people1);
%>


${people1.setId(45)}${people1.id}

EL表达式_第2张图片

4.获取对象

内置对象中前面四个其实获取的是域对象,
但是通常我们可以通过pageContext对象来获取其他对象,并利用它来进行一些特定数据获取
例:
获取项目名:

${pageContext.request.contextPath}

EL表达式_第3张图片
在这里插入图片描述

你可能感兴趣的:(#,java基础,java)