JSP:EL中 pageContext.request 和 requestScope 的区别?

Q1:

A:

pageContext.request是一个具体的对象,在你的http请求过程中存在。
requestScope是一个Map,这个Map中存放了在request作用域中的属性键值对,就这么简单而已,它不是request对象,而是request对象属性的封装,pageContext.request才是真正的request对象。
EL中你可以在这个周期中放置、获取对象。(当然,其实真正的操作也是针对request对象的)。 比如${requestScope.a},其实就是要表明我告诉jsp要到requestScope这个声明周期中获取对象a。而背后的实现就是从request.getAttribute("a"),然后根据表达式得到相应的a对象。

其是仔细观察这两个图,你会发现他们的联系,相信大家,就不具体写出了。

附1:JSP内置对象

附2:EL内置对象

时间: 2024-10-20 16:51:45

JSP:EL中 pageContext.request 和 requestScope 的区别?的相关文章

IDEA中${pageContext.request.contextPath}无效

解决1: 在jsp页面添加如下内容 <%@page isELIgnored="false"%> 解决2: 修改IDEA默认生成的web.xml文件,如下: <?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org

JSP&amp;EL 内置对象

JSP&EL 内置对象 转载▼ 具体的JSP和El中的内置对象见下表,由于我写在了excel中,也不知道怎么把excel发出来,就截了图. 相关问题: Q1: JSP:EL中 pageContext.request 和 requestScope 的区别? A: pageContext.request是一个具体的对象,在你的http请求过程中存在.requestScope是一个Map,这个Map中存放了在request作用域中的属性键值对,就这么简单而已,它不是request对象,而是reques

JSP之项目路径问题(${pageContext.request.contextPath},&lt;%=request.getContextPath()%&gt;以及绝对路径获取)

本随笔这是作为一个记录使用,以备后查.项目完成之后本地部署OK,本地Linux部署OK,都可以正常的访问,可是当我把它部署到服务器上面的时候,首页可以正常访问,可是当发出请求的时候却报错误了,说找不到定义的请求.我很纳闷,本地都OK为什么只有在服务器才能找不到请求.不过按照常理我还是一步一步的来开始排错. 第一步,查看项目部署成功,和部署路径无关,OK. 第二步,查看web.xml以及struts的请求配置,完全OK,没有问题. 第三步,既然部署没有问题,请求配置都OK,如果不是机器的原因那么只

EL表达式从request和session中取值

在Action中保存登录的基本信息:request.getSession().setAttribute("adminid", str); 在JSP页面中:${sessionScope.adminid} java:request.setAttribute("adminid",str); 在JSP页面中:${#request.adminid} Struts2中 :<s:hidden name="adminid" value="#ses

JSP EL

一.JSP EL语言定义 E L(Expression Language)  目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法.它是一种简单的语言,基于可用的命名空间(PageContext 属性).嵌套属性和对集合.操作符(算术型.关系型和逻辑型)的访问符.映射到 Java 类中静态方法的可扩展函数以及一组隐式对象. EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能.脚本编制元素

JSP EL简介

JSP EL简介:1.语法:    ${expression} 2.[ ]与.运算符    EL 提供“.“和“[ ]“两种运算符来存取数据.     当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[ ]“.例如:         ${user.My-Name}应当改为${user["My-Name"] } 如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值.例如:         ${sessionScope.user[data]

JSP EL表达式详细介绍

一.JSP EL语言定义 E L(Expression Language)  目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法.它是一种简单的语言,基于可用的命名空间(PageContext 属性).嵌套属性和对集合.操作符(算术型.关系型和逻辑型)的访问符.映射到 Java 类中静态方法的可扩展函数以及一组隐式对象. EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能.脚本编制元素

JavaEE之动态页面技术(JSP/EL/JSTL)

动态页面技术(JSP/EL/JSTL) JSP技术 jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> ----- 会被翻译成service方法内部out.print() 3)<%!java代码%> ---- 会被翻译成servlet的成员的内容 jsp注释:  不同的注释可见范围是不同 1)Html注释:<!--注释内容--> ---可见范围 jsp源码.

jsp文件中的路径问题

最近在写一个OA系统,在资源的路径问题上面出现了一点问题,使用相对路径的话不利于文件的改动,所以使用了绝对路径来写. 在jsp文件中   <%= String path = request.getContextPath();%> 表示的是获取所部署的应用的名字: 在EL表达式中 ${pageContext.request.contextPath} ${pageContext.request.contextPath}是通过 get方法去取的,先pageContext.getRequest()得到