当前课程知识点:Web后端开发技术 > 第4章 JSP基础 > 4.3 指令元素 > 4.3.1 指令元素
欢迎大家回来继续学习web后端开发技术
在这一小节当中
我们将学习指令元素
指令元素是用来向JSP容器提供编译信息的
所有的指令都在当前页面有效
指令元素它的形式是这样的
在开始标记之后
紧跟一个英文的@字符
后边是内容
结束标记
那么指令元素包括哪几个指令呢
第1个是page指令
第2个 include指令
第3个是taglib指令
那么下面我们逐一给大家做一个介绍
首先说一下page指令
page指令用来指明页面的信息
都有哪些信息呢
包括导入的包
输出内容的类型
和对Session的控制
它的语法是在开始标记之后
@符号后面page
接下来是属性的列表
我们看一个例子
这是一个page指令
我们看到前面是固定住的内容
这是结束标记
然后这里面有属性language
有属性
contentType
还有这里面指定的属性的值
还有一个pageEncoding
那么这些属性它的含义是什么呢
下面给大家做一个简单的介绍
第1个属性名叫做language
它是用来指明在JSP页面当中使用
的脚本语言
默认的就是Java
第2个属性名叫做import
它的作用是用来导入类和包
第3个属性名叫contentType
它用来指定 MIME类型和JSP页面
响应时
它的编码方式
这里面我们一定要注意
这个类型是 text/html
charset默认的是ISO8859-1
我们在开发当中要把这里面修改成
utf-8编码
接下来属性名称叫做
pageEncoding
它指明了当前JSP页面的编码方式
接下来这个属性名字叫做
session
它指明当前在JSP页面是否使用
session对象
errorPage属性
它指明用一个显示错误信息的页面
下面属性名叫做
isErrorPage
它是来说明指定一个页面是否用来
表示处理错误的这样一个页面
我们会在后面的例子当中来使用这两个属性
下面是info
属性名
指明页面的信息
接下来是autoFlush
那么这个属性名它的作用是
是否运行缓存
当这个值为true的时候
我们使用 out.println
向客户端输出数据
那么这个数据并不会直接返回客户端
而会缓存起来
等到缓存满了
或者是执行完毕
或者是调用了
flush方法的时候
这个数据才会返回给客户端
那么它的作用就是这样一个作用
下面那是buffer是用于指定
缓存的大小
缓存默认的值是
8kb
这里面需要说明的一点
page指令在JSP页面当中可以出现多次
这个属性
如果出现了多次同样的属性名称
那么后面属性的值将覆盖前面属性值
我们看一个示例
page指令通常会出现在JSP页面的
开始部分
在这个示例当中
我们看到language属性指明了
它的编码方式是Java
编码语言是Java语言
contentType
和pageEncoding
是utf-8
这里面这个也是utf-8
我们再看一个示例
这个示例
在刚才page指令上面
又添加了一个import
包含import属性的这样一个page指令
用来指明当前页面
需要用到的这个类的所在的包
接下来我们来学习一下
include指令
include指令
用来在页面编译期间一定要注意
这里面是在编译期间将另外一个文件
比如JSP文件
或者html格式的文件
包含进来
它的语法是在@符号之后有一个
include的关键字
属性是file
然后file的路径
我们看一个例子
那么这个例子是在当前页面当中
把一个叫做head.jsp文件包含进来
W3school是我们经常
访问的一个网站
它上面有关 web开发方案的知识
非常多
当我们点击第1个菜单
HTML/CSS的时候
会呈现这样一个页面
当我们在点击第2个菜单
javaScript的时候
会呈现这样一个页面
我们发现这两个页面它都有相同的
部分
那么这部分我们在开发当中就可以把它
使用include指令
包含进来
分别在这两个页面当中
使用include指令
把相同的内容包含进来
也就是说我们可以使用
include指令
在页面设计上面进行规划
对于一个页面
我们可以把它分成
头部
底部和中间部分
我们观察很多网站
它的头部和底部的信息基本上是一样的
所以我们就可以设计出来头部
设计出来底部
把头部和底部共用
对于每个页面
我们就可以使用include指令
把头部包含进来
然后把底部包含进来
对于每个页面
它的重点就是编写
主要这部分代码了
接下来给大家去演示一下
JSP指定元素当中
include指令
那么我这里用到了三个页面
一个是main
就是我的主页面
还有一个叫做head.gsp
还有一个叫做tail.jsp
那么在main.jsp当中
如果我什么都没有引入的话
它就显示这是页面的主体
大家可以看到就是这样的一行文字
但是我想在它的这是页面主体的前面
比如说显示上午好
还是下午好
然后我根据当前是上午还是下午自动去判断
那么这些部分代码我就会写在
head.jsp里面
然后在main.jsp里面
去引入head.jsp
那么好我们先去编辑完成head.jsp
这个页面
那么在这里面我去写一段 Java代码
那么这里有一个类叫做
calendar这么一个类
好
那么我可以给它引入
大家可以按键盘上的out加反斜杠键
就会出现我这样的一个提示
那么可以看到
它是在Java.util这个包下
当你双击它的时候
就会加一条配置指令
import Java.util.Calendar 这个类
当然了这段代码是它自动生成的
你也可以手敲
效果是一样的
这样的话我们就可以引入Calendar这个类
就可以使用它了
那么它有一个方法叫做
getInstance
可以获取到它的一个实例对象
然后我去get
get什么
它有一个静态的常量
叫做 Calendar.AM_PM
那么也就是说我获取到我当前到底是
am是上午还是下午
如果它等于 Canadar.AM
也就是说是上午的话
所以说我这里加一个if判断
这句话就表示是上午
我就要显示 上午好
所以说我这加一个
加一个这样的大括号
在这里面括回我这块去写
上午好
欢迎 上午好
否则应该就是下午
所以说我在这里写成else
那么注意
这块的结束
在这里面
我大括号括回来
在这里面写上我的文本
欢迎
欢迎 下午好
好了
这时候我在main.jsp当中
我就要在 h1的前面把我的
head.jsp引入
那我们就可以通过指令元素来完成了
这里面通过
@符号
include
然后我要引入哪个页面
我通过file等于
我的head.jsp就可以了
保存
我们先看一下这样的运行效果
刷新
大家可以看到
因为我现在是上午它就会显示
上午好
在这是页面主体的前面
我这里还有一个tail.jsp
显示的是我一些版权信息
那么我想把tail.jsp
放在我页面主体的下面
那么我们同样也可以利用这个方法
我把它拷贝一下
这个指令在这里面我去写
tail.html
好啦 然后我把它刷新一下
好 那么大家可以看到我加载的底下这块
是产生乱码的
那么这个乱码的解决方式呢大家可以这么去做
我们可以把main.jsp头部的指令
拷贝一下
拷贝到我们的 tail.html 里面
虽然说我们 html这个文件
它本身是不识别jsp的指令文件的
但是没有关系
因为当它合并的时候
我们的servlet会读取这个
头文件
这样的话就能正确的对我们的汉字
进行解析了
所以说大家把这块拷贝一下就不会出问题了
我们来看一下
刷新
这时候大家可以看到我们的中文文本
就可以正常的去显示了
好
到这里就给大家讲解了
我们怎么样利用 include指令
去包含我们不同类型的JSP文件
和我们的html文件
同时解决了我们html文件当中
出现乱码的问题
第3个指令叫做taglib指令
这个指令是要指定JSP页面使用的
标签库
从而在JSP页面使用标签库当中的标签
那么它的语法形式是这样的
开始标记
@符号
后边是taglib
然后有两个属性
一个是uri
另外一个是prefix
关于taglib指令
我们在后面的章节中
将详细来学习
好
本小节我们就讲到这里
谢谢
-1.0 导学
--1.0.1 导学
-1.1 Web应用开发概述
--1.1.3 测试
-1.2 准备Java Web应用开发环境
--1.2.2 测试
-1.3 任务实现:Hello World Web项目
--1.3.2 测试
-1.4 小结
--1.4.1 小结
-本课程所有代码
--课程参考代码
-2.0 导学
--2.0.1 导学
-2.1 Servlet概述
--2.1.3 测试
-2.2 创建Servlet
--2,2,3 作业
-2.3 Servlet应用
--2.3.4 测试
-2.4 任务实现:某高校毕业生信息发布系统-注册与登录(Servlet版)
--2.4.3 测试
-2.5 ServletConfig接口
-2.6 ServletContext接口
-2.7 HttpServletRequest接口
--2.7.5 测验
-2.8 HttpServletResponse接口
--2.8.3 测试
-2.9 任务实现:某高校毕业生信息发布系统-简历添加
--2.9.1 任务实现:某高校毕业生信息发布系统-简历添加
-2.10 小结
-动画演示:Java Web应用服务器处理客户端请求的过程
-3.0 导学
--3.0.1 导学
-3.1 Cookie技术
--3.1.3 测试
-3.2 Session技术
--3.2.2 Session技术-Session技术应用购物车
--3.2.3 测试
-3.3 URL重写与隐藏表单域
--3.3.2 测试
-3.4 任务实现:某高校毕业生信息发布系统-简历修改
--3.4.1 任务实现:某高校毕业生信息发布系统-简历修改
-3.5 小结
--3.5.1 小结
-4.0 导学
-4.1 jsp概述
--4.1.2 测试
-4.2 脚本元素
--4.2.2 测试
-4.3 指令元素
--4.3.2 测试
-4.4 动作元素
--4.4.3 测试
-4.5 内置对象
--4.5.3 测试
-4.6 JavaBean
--4.6.3 测试
-4.7 任务实现:某高校毕业生信息发布系统-首页(JSP版)
--4.7.1 任务实现:某高校毕业生信息发布系统-首页(JSP版)
-4.8 小结
--4.8.1 小结
-5.0 导学
--5.0.2 测试
-5.1 el语法
--5.1.2 测试
-5.2 el隐含对象
--5.2.2 测试
-5.3 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.1 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.2 测试
-5.4 小结
--5.4.1 小结
-6.0 导学
--6.0.2 测试
-6.1 核心标签库
--6.1.5 测试
-6.2 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.1 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.2 测试
-6.3 小结
--6.3.1 小结
-7.0 导学
--7.0_导学
-7.1 过滤器
--7.1.3 测试
-7.2 监听器
--7.2.1.1与ServletContext相关的监听器
--7.2.4 测试
-7.3 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.1 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.2 测试
-7.4 小结
--7.4.1小结
-8.0 导学
--8.0_导学
-8.1 JDBC API
--8.1.2 测试
-8.2 JDBC API访问MySQL基本步骤
--8.2.2 测试
-8.3 任务实现:某高校毕业生信息发布系统-注册与登录
--8.3.1 任务实现:某高校毕业生信息发布系统-注册与登录(JDBC版)
--8.3.2 测试
-8.4 小结
--8.4.1小结
-9.0导学
--9.0导学
-9.1 技术准备
--9.1.5 测试.
-9.2 系统设计
-9.3 系统实现
-9.4 小结
--9.4.1小结

