jsp程序设计入门沈泽刚、秦玉平主编的javaweb第二版第04章JSP技术模型.ppt

jsp程序设计入门沈泽刚、秦玉平主编的javaweb第二版第04章JSP技术模型.ppt

  1. 1、本文档共192页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
jsp程序设计入门沈泽刚、秦玉平主编的javaweb第二版第04章JSP技术模型

使用pageContext获得一个应用作用域的属性: Email is: %=pageContext.getAttribute(email,PageContext.APPLICATION_SCOPE)% 上述代码等价于: Email is: %=application.getAttribute(email)% 使用pageContext,即使不知道作用域也可以查找一个属性,例如: %= pageContext.findAttribute(foo)% 4.6.4 页面作用域 4.7 JSP组件包含 代码的可重用性是软件开发的一个重要原则。使用可重用的组件可提高应用程序的生产率和可维护性。JSP规范定义了一些允许重用Web组件的机制,其中包括在JSP页面中包含另一个Web组件的内容或输出。这可通过两种方式之一实现:静态包含或动态包含。 4.7.1 静态包含:include指令 静态包含是在JSP页面转换阶段将另一个文件的内容包含到当前JSP页面中。使用JSP的include指令完成这一功能,它的语法为: %@ include file=relativeURL % file属性是include指令唯一的属性,它是指被包含的文件。文件使用相对路径指定,相对路径或者以斜杠(/)开头,是相对于Web应用程序文档根目录的路径,或者不以斜杠开头,它是相对于当前JSP文件的路径。被包含的文件可以是任何基于文本的文件,如HTML、JSP、XML文件,甚至是简单的TXT文件。 图4-4 使用include指令的静态包含 图4-4说明了include指令的工作方式 由于被包含JSP页面的代码成为主页面代码的一部分,因此,每个页面都可以访问在另一个页面中定义的变量。它们也共享所有的隐含变量,如程序4.11所示。 程序4.11 hello.jsp 下面代码是被包含页面response.jsp。 程序4.12 response.jsp 1. 从被包含页面中访问变量 2. 静态包含的限制 当使用include指令包含一个文件时,需要遵循下列几个规则。 (1)在转换阶段不进行任何处理,这意味着file属性值不能是请求时表达式,因此下面的使用是非法的。 %! String pageURL =copyright.html; % %@ include file=%= pageURL % % 2. 静态包含的限制 (2)不能通过file属性值向被包含的页面传递任何参数,因为请求参数是请求的一个属性,它在转换阶段没有任何意义。下面例子中的file属性值是非法的。 %@ include file=other.jsp?name=Hacker % (3)被包含的页面可能不能单独编译。一般来说,最好避免这种依赖性,而使用隐含变量pageContext共享对象,通过使用pageContext的setAttribute()和getAttribute()实现。 4.7.2 动态包含:include动作 动态包含是通过JSP标准动作jsp:include实现的。该动作的格式如下: jsp:include page=“relativeURL” flush=true|false / 这里page属性是必须的,其值必须是相对URL,并指向任何静态或动态Web组件,包括JSP页面、Servlet等。可选的flush属性是指在将控制转向被包含页面之前是否刷新主页面。flush属性的默认值为false。 page属性的值可以是请求时表达式,例如: %! String pageURL = other.jsp; % jsp:include page=%= pageURL % / 图4-6说明了jsp:include的工作方式。 4.7.2 动态包含:include动作 在功能上jsp:include动作的语义与RequestDispatcher接口的include()的语义相同,因此,下面三个结构是等价的。 【结构1】 % RequestDispatcher rd = request.getRequestDispatcher(other.jsp); rd.include(request, response); %  4.7.2 动态包含:include动作 4.5.3 application变量 application是javax.servlet.ServletContext类型的隐含变量,它是JSP页面所在的Web应用程序的上下文的引用(ServletContext接口),下面两段小脚本是等价的。 4.5.3 application变量

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档