Javaweb(jsp技术) —— ——jsp动作元素
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动作元素相关推荐
- Java遇见HTML——JSP篇之JSP指令与动作元素
一.include指令(如:<%@include file="..."%> ) 示例: Date.jsp 1 <%@page import="java. ...
- JSP指令与动作元素-foward动作
foward动作: 语法: <jsp:forward page="URL"/> 等同于: request.getRequestDispatcher("/url ...
- 演示<jsp:forward>动作元素
一.创建两个jsp文件 jspforward.jsp:实现请求转发 <%@ page language="java" contentType="text/html; ...
- 案例:演示<jsp:include>动作元素
一.在WebContent下创建两个页面dynamicInclude.jsp和included.jsp <%@ page language="java" contentTyp ...
- JSP的forward动作元素和Servlet中forword
req.getRequestDispatcher("/b").forward(req,resp);//servlet <jsp:forward page="/b&q ...
- Jsp语法、指令及动作元素
一.JSP的语法 1.JSP的模板元素:(先写HTML) 就是JSP中的那些HTML标记 作用:页面布局和美化 2.JSP的Java脚本表达式: 作用:输出数据到页面上 语法:<%=表达式%&g ...
- JSP常用动作元素有哪些?作用是什么?
JSP 动作元素有哪些?作用是什么? jsp的标准动作元素有十种之多,但是常用的就以下这六种 jsp:include:在页面被请求的时候引入一个文件. jsp:useBean:寻找或者实例化一个Jav ...
- JSP技术(3)传智书城
[任务目标]: 通过学习JSP知识,使用JSP技术,完成传智书城首页的展示. [实现步骤] 1.首页设置 在chapter7项目的WebContent目录创建一个名称为index.jsp的页面文件,该 ...
- 可用等式为:html+java=jsp表示jsp[8]._java jsp
### jsp@3脚本元素 .JSP脚本元素用来插入Java代码,这些Java代码将出现在由当前JSP页面生成的Servlet中. 脚本元素有三种格式: 声明格式<%! declaration; ...
最新文章
- 如何使用 OpenCV 开发虚拟键盘
- 写给正在入坑linux系统的伙伴
- 中音萨克斯指法表图_萨克斯的几个特殊指法记忆和几个概念
- shell脚本执行oracle删除表,shell脚本操作oracle删除表空间、创建表空间、删除用户...
- dtoj#4263. duliu
- 密码加密模块 bcrypt (详细,好理解,示例源码)
- JAVA-消息队列及分布式消息队列原理
- 手机如何登录企业邮箱,公司电子邮箱登录页面
- 给树莓派刷入OpenWrt
- 高速学英语- 大脑的不同学习机制
- 英语常见缩写,职业,公司
- 计算机基础2,计算机基础总结2
- 消息队列-简单介绍Java消息队列,什么是消息队列,作用以及常见消息队列
- python---会员管理系统
- css规则定义的分类,.css规则定义
- DRGs SQL数据库查询城镇职工医保定点医疗机构药占比
- HTTP 请求的方式
- python词频统计之红楼梦_用 Python 分析《红楼梦》,后四十回是曹雪芹所写
- HashMap原理浅析(关于红黑树是什么?)
- 高效能人士的执行四原则(二)——原则1:聚焦最重要目标