第八天-JSP动作元素

本文详细介绍了JSP中的两种动作元素:jsp:include和jsp:forward。通过实例展示了如何使用jsp:include进行页面包含,以及jsp:forward实现请求转发。在案例中,讲解了传智书城JSP页面的开发过程,包括首页设置、链接和图片路径修正、代码抽取提高代码复用性等步骤。
摘要由CSDN通过智能技术生成

JSP动作元素

JSP动作元象用来控制JSP的行为,执行一些常用的JSP页面动作。通过动作元素可以重既使用多行Java代码能够实现的效果,如包含页面文件、实现请求转发等。

6.5.1 jsp:include动作元素

在JSP页面中,为了把其他资源的输出内容插入到当前JSP页面的输出内容中,JSP技术提供了动作元素,动作元素的具体语法格式如下所示。
<jsp:include page=“relativeURL” flush=“true | false” />

在上述通法格式中。page属性用于指定被引入资源的相对路径; flush 属性用于指定是否将当前页面的输出内容刷新到客户端,默认情况下,flush属性的值为false。
包含的原理是将被包含的页面编译处理后将结果包含在页面中。当浏览器第1次通求个使用包含 其他页面的页面时,Web容器首先会编译被包含的页面, 然后将编泽处理后的返回结果包含在页面中,之后编译包含页面,最后将两个页面组合的结果回应给测览器。为了使读者更好地理解jsp:include动作元素,接下来,通过一个案例来演示动作元素的使用,具体如下。
(1)在chapter06项目的WebContent目录下编写两个JSP文件,分别是included.jsp和dynamicncludejsp.其中,dynamicInclude,jsp 页面用于引入included,jsp 页面。included isp作为被引入的文件,让它暂停5秒钟后才输出内容,这样,可以方便测试jsp:include标签的flush属性。included jsp的具体代码如文件6- 10所示,dynamicInclude jsp具体代码如下所示。
included.jsp
在这里插入图片描述
(2)启动Tomcat服务器,访问地址ht:p:/ts//th//ioiaihnclidre sp"后,发现浏览器首先会显示dynamicInclude.jsp 页面中的输出内容,等待5秒后,才会显示included.jsp页面的输出内容。说明被引用的资源included.jsp在当前JSP页面输出内容后才被调用。其最后显示结果如图所示。
在这里插入图片描述
6.5.2 jsp:forward动作元素

jsp:forward动作元素将当前请求转发到其他Web资源(HTML页面、JSP页面和Servlet等),在执行请求转发之后的当前页面将不再执行,而是执行该元素指定的目标页面。其具体语法格式如下所示。

<jsp: forward page=“relativeURL” />

在上述语法格式中,page属性用于指定请求转发到的资源的相对路径,该路径是相对于当前JSP页面的URL。
为了使读者更好地理解jsp:forward动作元素,接下来,通过一个案例来学习jsp:forward动作元素的具体用法。
首先编写一个用于实现转发功能的jspforward.jsp 页面和一个用于显示当前时间的welcome.jsp页面,具体如文件6-12和文件所示。
jspforward.jsp
在这里插入图片描述
在这里插入图片描述
启动Tomeal服务器,通过浏览器访问 http://localhost:9999/chapter08/jspforward.jsp" ,浏览器的显示界面如图所示。
在这里插入图片描述

6.6阶段案例:传智书城JSP页面

[实现步骤]
1.首页设置
在capter08项目的WebContent目录下创建一一个名称为ndex sP的页面文件,该文件使用ispforword>动作元素跳转到项目客户端展示的首页,其主要代码如下所示。

**2.文件移植** 将第1章中传智书城案例中的client文件夹复制到WebContent目录下,并将client文件夹下的所有.html文件改为.jsp文件,修改后client文件夹下的文件如图所示。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7a0a8434dcbb48ec821f8cf3bb60fedf.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQHp6ZA==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) 如果此时运行项目,并访问http://localhost:9999/chapter08/clint/index.jsp" ",会发现页面中的中文都是乱码。其实,要想解决此问题十分简单,只需要将每一一个 JSP文件中都加上page指令即可,其代码如下所示。

<%@page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>

添加page指令后,重新启动Tomcat服务器,再次访问index.jsp 页面,这时所有中文就可以正确显示了。

3.修改JSP页面中的地址和链接

虽然此时表面上看,index.jsp可以正常访问了,但是当点击页面右上角的“新用户注册”时,会发现浏览器未显示出注册页面,而是报出“404" 错误,如图6-19所示。
在这里插入图片描述
从图6-19中可以看出,当点击“新用户注册”链接后,所访问的链接路径是/chapter06/register.jsp,而项目中注册页面的真实路径是/chapter06/client/register.jsp,所以出现了“404"错误。要解决此问题,只需在index.jsp页面文件中的链接和图片等路径前,加入“ p a g e C o n t e x t . r e q u e s t . c o n t e x t P a t h / c l i e n t / ” ∗ ∗ 即 可 。 修 改 后 的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值