JSP三大指令(Page指令,include指令,taglib指令)
参考文章:
https://www.runoob.com/jsp/jsp-directives.html
http://c.biancheng.net/view/1458.html
https://blog.csdn.net/weixin_41547486/article/details/81476015
https://blog.csdn.net/napoay/article/details/50754362
JSP指令的作用:JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言。
1.JSP指令的具体语法
<%@ 指令名称 属性1="属性值1" 属性2="属性值2" ... 属性n="属性值n" %>
注意:
一般会把JSP指令放到JSP文件的最上方,但这不是必须的。
JSP页面生成的Java文件中,看不见指令的信息。
2.三大指令简要说明
指令类型 | 说明 |
page | 定义 JSP 页面的各种属性,常用属性有 import、language、pageEncoding 等。 |
include | 静态包含指令,用于引入其它 JSP 文件。使用 include 指令引入的其它 JSP 文件,两个 JSP 文件j将被翻译成一个 servlet,所以将 include 称为静态包含。 |
taglib | 用于在 JSP 页面中导入标签库(JSP 标准标签库、第三方标签库、自定义标签库)。 |
3.Page指令
<%@ page ... %>
Page指令属性较多,有13个,常用的有
language 属性:设置当前页面中编写 JSP 脚本所使用的语言,默认值为 java。
contenType 属性:设置发送到客户端文档响应报头的 MIME(Multipurpose Internet MailExtention)类型和字符编码,多个值之间用“;”分开。
import 属性:用来导入程序中要用到的包或类,可以有多个值,无论是 Java 核心包中自带的类还是用户自行编写的类,都要在 import 中引入。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%>
在 JSP 页面中,默认情况下设置的字符编码为 ISO-8859-1,即 contentType="text/html;charset=ISO-8859-1",但通常需要设置为utf-8.
contentType="text/html;charset=utf-8"
用来解决中文显示乱码的问题。
其他属性
4.include指令
属性只有1个,file,指定要包含的页面,例如:<%@include file=”b.jsp”%>
静态包含:当hel.jsp页面包含了lo.jsp页面后,在编译hel.jsp页面时,需要把hel.jsp和lo.jsp页面合并成一个文件,然后再编译成Servlet(Java文件)。
图文来源:https://blog.csdn.net/weixin_41547486/article/details/81476015
注意:
- file 属性指定被包含的文件,不支持任何表达式。
- 不可以在 file 所指定的文件后接任何参数
- 如果 file 属性值以“/”开头,将在当前应用程序的根目录下查找文件;如果是以文件名或文件夹名开头,将在当前页面所在的目录下查找文件。
5.taglib指令
引入一个自定义标签集合的定义,包括库路径、自定义标签。
例如:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
struts标签库:
<%@ taglib prefix="s" taglib="/struts-tags" %>
其中prefix表示标签的前缀,这个名称可以随便起。uri是由第三方标签库定义的,所以你需要知道第三方定义的uri。
注意:
prefix=”tagPrefix “用于定制标记的前缀,jsp, jspx, java, javax, servlet, sun, 和sunw已被sun公司保留。
uri=”tagLibraryURI”统一资源标记库,制定一个特定的标记库,可以是相对路径,也可以是绝对路径。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?