• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JSP > 浅谈jsp EL表达式取值过程、page和pagecontext的区别

浅谈jsp EL表达式取值过程、page和pagecontext的区别

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了浅谈,浅谈小学语文阅读教学,浅谈如何转化后进生,浅谈汽车运动,浅谈小学数学教学方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1、EL表达式解析过程

JSP中,我们经常会写为${obj.name}字样,但你有没有想过,它的取值过程是什么,属性值从哪取得?

${obj}相当于 request.getAttribute("obj"),这句话严格来说不严谨,依次的请求范围是page、request、session、application

也就是说,如果在page.getAttribute()找不到,再去request.getAttribute,如果request找不到,再去session里找,session里找不到,再去application里

page.getAttribute-------->request.getAttribute------------>session.getAttribute----------->applicaton.getAttribute

2、page和pagecontext的区别

page就是当前jsp页面,也等同于jsp编译后的servlet,查看java代码可以得知,page是java.lang.Object类型


public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {

final javax.servlet.jsp.PageContext pageContext;
javax.servlet.http.HttpSession session = null;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;


response.setContentType("text/html; charset=UTF-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
<span style="white-space:pre">  </span>null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
jspx_out = out;<span style="font-family: Arial, Helvetica, sans-serif;"> }</span>

</div>

来个具体的例子吧。

page1.jsp,设置键值对

<%
page.setAttribute("name","obma")
%>

</div>

在page1.jsp,可以取出上边设置的name值,但是在其它页面(page2,page3中....)获取到的都是null

<%
String value = (String)page.getAttribute("name");
%>

</div>

pagecontext,是page的上下文,是javax.servlet.jsp.PageContext类型,它持有request,response,也持有page,通过pagecontext可以获取servletcontext、servletconfig等,可以看出他是一个桥梁可以获取上下文变量

以上这篇(标题)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅谈jsp EL表达式取值过程、page和pagecontext的区别

相关文章

  • 2017-05-11jsp实现cookie的使用
  • 2017-05-11JSP开发入门(四)--JSP的内部对象
  • 2017-05-11JSP中的字符替换函数 str_replace() 实现!
  • 2017-05-11jsp中利用jquery+ajax在前后台之间传递json格式参数
  • 2017-05-11JSP页面文件中base标记用法实例分析
  • 2017-05-11JBuilder2005单元测试之创建测试固件
  • 2017-05-11struts2+jquery实现ajax登陆实例详解
  • 2017-05-11深入浅析Jsp中 out.print 和 out.write 的区别
  • 2017-05-11JSP学习之异常处理实例分析
  • 2017-05-11Spring在web.xml中的配置详细介绍

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jsp 页面上图片分行输出小技巧
    • jsp 生命周期详细介绍
    • servlet实现文件下载的实用类分享
    • JSP开发入门(二)----JSP语法的基本原理
    • 使用JSP读取客户端信息
    • JSP入门教程(4)
    • JSP+MySQL实现网站的登录与注册小案例
    • JBuilder2005实现重构
    • img的src地址是一个请求的方式来显示图片方法
    • java操作mysql入门代码实例(含插入、更新和查询)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有