jsp动作元素

文章目录

  • jsp动作元素
  • 前言
  • 一、JSP动作元素
    • 1.1include动作元素
    • 1.2forward动作元素
    • 1.3阶段案例:传智书城JSP页面

前言

一本书中这样写到:一个能靠自己的能力改变命运的人,是有幸的,也是灵魂滚烫的,因为这些人把命运掌握在自己的手中,并且成为命运的主宰。而人的一生中究竟有多少个春秋,有多少事是值得回忆和纪念的。生命就像一张白纸,等待着我们去描绘,去谱写。


提示:以下是本篇文章正文内容,下面案例可供参考

一、JSP动作元素

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

1.1include动作元素

在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的具体代码如下所示,dynamicInclude jsp具体代码如下所示。
included.jsp

1.2forward动作元素

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

<jsp: forward page=“relativeURL” />

在上述语法格式中,page属性用于指定请求转发到的资源的相对路径,该路径是相对于当前JSP页面的URL。
为了使读者更好地理解jsp:forward动作元素,接下来,通过一个案例来学习jsp:forward动作元素的具体用法。
首先编写一个用于实现转发功能的jspforward.jsp 页面和一个用于显示当前时间的welcome.jsp页面

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

1.首页设置
在capter06项目的WebContent目录下创建一一个名称为index.jsp的页面文件,该文件使用forward动作元素跳转到项目客户端展示的首页,其主要代码如下所示。

2.文件移植 将第1章中传智书城案例中的client文件夹复制到WebContent目录下,并将client文件夹下的所有.html文件改为.jsp文件,修改后client文件夹下的文件如图所示。
如果此时运行项目,并访问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" 错误
当点击“新用户注册”链接后,所访问的链接路径是/chapter06/register.jsp,而项目中注册页面的真实路径是/chapter06/client/register.jsp,所以出现了“404"错误。要解决此问题,只需在index.jsp页面文件中的链接和图片等路径前,加入“${pageContext.request.contextPath}/client/ 。 即 可 。 修 改 后 的 链 接 如 下 所 示 :
<ahref=" {pageContext. request. contextPath}/client/ register.jsp">
4.抽取页面代码

虽然已成功将HTML文件改为了JSP文件,并能够成功访问,但是在index.isp和register jisp中包含了大量的重复代码(如两个页面中的头部、菜单列表以及页面底部代码)。通常一一个项目中的头部和底部代码是固定的,如果每一个页面都有这些代码,会使项目十分臃肿,不利于项目的开发和维护。此时,可以将项目中的重复代码抽取出到一个新的JSP页面,然后通过JSP的include指令来引入这些抽取出的JSP页面。具体如下。

(1) 在client文件夹下创建一个名称为head.jsp的文件,将传智书城index.jsp首部抽取出到headjisp中。其中,head.jsp页面的代码如文件所示。

(2) 在client文件夹下创建一一个名称为menu_ search.isp的文件,将传智书城index.psp中等单列表中的代码抽取出到menu_ search.jsp 中。其中,menu._search.isp页面的代码如文件

(3) 在client文件夹下创建-个名称为foot.jsp的文件,将传智书城index.jsp中底部的代码抽取出到foot.jsp中。其中,foot.jsp 页面的代码如下

(4) 使用inlude指令将抽取出的3个JSP页面包含在index.jsp中,其主要代码如下

Javaweb(jsp技术) —— ——jsp动作元素相关推荐

  1. Java遇见HTML——JSP篇之JSP指令与动作元素

    一.include指令(如:<%@include file="..."%> ) 示例: Date.jsp 1 <%@page import="java. ...

  2. JSP指令与动作元素-foward动作

    foward动作: 语法: <jsp:forward page="URL"/> 等同于: request.getRequestDispatcher("/url ...

  3. 演示<jsp:forward>动作元素

    一.创建两个jsp文件 jspforward.jsp:实现请求转发 <%@ page language="java" contentType="text/html; ...

  4. 案例:演示<jsp:include>动作元素

    一.在WebContent下创建两个页面dynamicInclude.jsp和included.jsp <%@ page language="java" contentTyp ...

  5. JSP的forward动作元素和Servlet中forword

    req.getRequestDispatcher("/b").forward(req,resp);//servlet <jsp:forward page="/b&q ...

  6. Jsp语法、指令及动作元素

    一.JSP的语法 1.JSP的模板元素:(先写HTML) 就是JSP中的那些HTML标记 作用:页面布局和美化 2.JSP的Java脚本表达式: 作用:输出数据到页面上 语法:<%=表达式%&g ...

  7. JSP常用动作元素有哪些?作用是什么?

    JSP 动作元素有哪些?作用是什么? jsp的标准动作元素有十种之多,但是常用的就以下这六种 jsp:include:在页面被请求的时候引入一个文件. jsp:useBean:寻找或者实例化一个Jav ...

  8. JSP技术(3)传智书城

    [任务目标]: 通过学习JSP知识,使用JSP技术,完成传智书城首页的展示. [实现步骤] 1.首页设置 在chapter7项目的WebContent目录创建一个名称为index.jsp的页面文件,该 ...

  9. 可用等式为:html+java=jsp表示jsp[8]._java jsp

    ### jsp@3脚本元素 .JSP脚本元素用来插入Java代码,这些Java代码将出现在由当前JSP页面生成的Servlet中. 脚本元素有三种格式: 声明格式<%! declaration; ...

最新文章

  1. 如何使用 OpenCV 开发虚拟键盘
  2. 写给正在入坑linux系统的伙伴
  3. 中音萨克斯指法表图_萨克斯的几个特殊指法记忆和几个概念
  4. shell脚本执行oracle删除表,shell脚本操作oracle删除表空间、创建表空间、删除用户...
  5. dtoj#4263. duliu
  6. 密码加密模块 bcrypt (详细,好理解,示例源码)
  7. JAVA-消息队列及分布式消息队列原理
  8. 手机如何登录企业邮箱,公司电子邮箱登录页面
  9. 给树莓派刷入OpenWrt
  10. 高速学英语- 大脑的不同学习机制
  11. 英语常见缩写,职业,公司
  12. 计算机基础2,计算机基础总结2
  13. 消息队列-简单介绍Java消息队列,什么是消息队列,作用以及常见消息队列
  14. python---会员管理系统
  15. css规则定义的分类,.css规则定义
  16. DRGs SQL数据库查询城镇职工医保定点医疗机构药占比
  17. HTTP 请求的方式
  18. python词频统计之红楼梦_用 Python 分析《红楼梦》,后四十回是曹雪芹所写
  19. HashMap原理浅析(关于红黑树是什么?)
  20. 高效能人士的执行四原则(二)——原则1:聚焦最重要目标

热门文章

  1. 【ipad】ipad如何与电脑连接
  2. 中兴巨亏、华为巨奖的启示
  3. 学计算机的,可以不悲哀
  4. springboot 实现简单注册功能(附带源码)
  5. 易中天的十句话---也许对每个人都会有一点启发
  6. 汽车O2O成大风口 易到用车估值30亿美金
  7. 用计算机求函数总分 平均分,08年计算机一级辅导:Excel中用SUMIF函数实现按指定条件求平均值...
  8. 百度输入法开启AI时代,突破方言、中英文混合识别难题
  9. 云蹦迪后续之云广场舞 内含详细安装教程
  10. 清新蓝粉自我介绍PPT模板