盒子
盒子
文章目录
  1. EL技术
  2. EL的内置对象11个(不重要了,我们现在jsp页面只显示,不写java代码了)

el&jstl

EL技术

  1. EL表达式概述
    EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。

  2. EL从域中取出数据(EL最重要的作用)
    EL最主要的作用是获得四大域中的数据,格式${EL表达式}

示例:

1
2
jsp脚本:<%=request.getAttribute("name")%>
EL表达式替代上面的脚本${requestScope.name}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<%
request.setAttribute("company","kkk");

List<User> list = new ArrayList<>();
User user = new User();
user.setId(2);
user.setName("lisi");
list.add(user);
application.setAttribute("list",list);
%>

<!-- 脚本法取出域中的值 -->
<%=request.getAttribute("company")%>
<%
List<User> appList = (User)application.getAttribute("list");
out.write(appList.get(0).getName());
%>

<!-- 使用EL表达式获得域中的值(在EL表达式中,获取域中的属性等同于去除了get) -->
${requestScope.company}
${applicationScope.list[0].name}

EL获得pageContext域中的值:${pageContextScope.key};

EL获得request域中的值:${requestScope.key};

EL获得session域中的值:${sessionScope.key};

EL获得application域中的值:${applicationScope.key};

EL从四个域中获得某个值${key}:
—同样是依次从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在

1
2
3
4
<!-- 使用el表达式全域查找 -->
${company}
${user.name}
${list[0].name}

EL的内置对象11个(不重要了,我们现在jsp页面只显示,不写java代码了)

pageScope,requestScope,sessionScope,applicationScope
——-获取JSP中域对象中的数据
以上的XXXScope和XXX不一样,比如request表示的是request对象,是jsp的内置对象,requestScope表示的是el的内置对象request域,request对象范围更大,因为对象中可以包含很多,其他对象等等

param,paramValues -接收参数
相当于request.getParameter() request.getParameterValues()

header,headerValues -获取请求头信息
相当于request.getHeader(name)

initParam -获取全局初始化参数
相当于this.getServletContext().getInitParameter(name)

cookie -WEB开发中的cookie
相当于request.getCookies()—-cookie.getName()—-cookie.getValue()

pageContext -WEB开发中的pageContext
pageContext获得其他八大对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
获得表单的参数
<%
request.getParameter("username");
//...
%>

用EL的隐式对象
${param.username}

用EL获得请求头,如果参数有-,则这样写(这种方式通用):
${header["User-Agent"]}

获得cookie
${cookie.name.value}----cookie.name,或取的是cookie对象

通过EL表达式获得request对象(注意是request对象,不是request域)
${requestScope}—这是错的,这获取的是el的对象
所以${pageContext.request}

${pageContext.request.contextPath} 通过el的内置对象pageContext获得jsp的内置对象request,获得web应用名称
联系我
扫一扫,添加JzhBetter
  • 微信扫一扫
  • qq扫一扫