1、概述

JSP指令用于“转换阶段”提供整个JSP页面的相关信息,影响由JSP页面生成的Servlet的整体结构。指令不会产生任何的输出到当前的输出流中。

指令的基本语法为:
<%@ directive {attr="value"}* %>  
 
1
<%@ directive {attr="value"}* %>  

其中,directive表示指令名,attr则表示该指令对应的属性名,一个指令可能有多个属性。而JSP中常用的指令有三个:page、include、taglib

2、page指令

page指令作用于当前整个JSP页面,可以放在页面的任意位置。其属性共有13个,下面展开常用属性:

import属性:用来引入JSP文件需要使用的类
  • e.g. <%@page import="java.util.*, java.io.*" %>
  • 使用逗号可以同时引入多个包,也可以分别多次使用import
  • import是page指令中唯一一个能在JSP文件多次出现的属性

pageEncoding属性:用来设置JSP文件的页面编码格式
  • e.g. <%@page pageEncoding="utf-8" %>
  • 上例表示设置当前JSP的页面编码格式为UTF-8

session属性:用来设置JSP页面是否生成session对象,默认值为true
  • e.g. <%@page session="false" %>
  • session属性为false后,该JSP翻译后的Java类中将没有内置对象session

errorPage属性:设置JSP页面的错误页面
  • e.g. <%@page errorPage="error.page" %>
  • 如标有上例指令的JSP页面,若页面中出现异常未处理,则请求会转发到错误页面
  • 可以理解为JSP翻译后的Java类执行过程发生异常,则请求跳转到错误页面去

isErrorPage属性:错误页面是否生成内置对象exception,默认值为false
  • e.g. <%@page isErrorPage="true" %>
  • 将需要跳转达到的错误页面,设置上述指令,则在翻译后的Java类中会生成exception内置对象
  • 即使一个页面没有设置isErrorPage也可以作为错误页面使用,区别在于是否有exception内置对象

3、include指令

e.g. <%@include file="head.jsp" %>

include指令用来静态包含其他页面。所谓静态包含,即在翻译期间,把包含的页面也翻译到当前页面的Java文件中。

需要注意的是,file属性表示的是文件的名称,而不是请求地址,所以不能当成url进行传参,如 <%@include file="head.jsp?param=xxx" %> 的方式是错误的。

4、taglib指令

taglib指令用来声明用户使用的自定义标签,将标签库描述符文件导入到JSP页面中。

简单地说,在JSP中使用的都是HTML的标签,浏览器可以解析运行,而我们也可以在JSP中自定义一套自己的标签进行使用,达到JSP文件结构简练,可读性强,维护性强等目的。而如何将自定义标签导入到JSP中声明并使用,则需要使用到taglib指令。

形如 <%@taglib uri="xxx" prefix="xxx" $>,其中:
  • uri属性用来描述标签资源的定位标记(自定义标签tld文件中定义的唯一标记)
  • prefix属性则是前缀,可以在声明时自定义,在一个JSP中可以引入多个标签库,但各前缀不能重复

taglib指令涉及到自定义标签的知识点,之后的内容会写到,此处作为JSP指令的介绍,则不再详细展开。

[03] JSP指令的更多相关文章

  1. javaweb学习总结(十六)——JSP指令

    一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: pa ...

  2. java web 学习十六(JSP指令)

    一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: pa ...

  3. javaWeb学习总结(8)- jsp指令(3)

    一.JSP指令简介 一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定 ...

  4. JavaWeb学习 (十五)————JSP指令

    一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: pa ...

  5. javaweb(十六)——JSP指令

    一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: pa ...

  6. jsp jsp指令

    JSP 由HTML和java语句拼接而成的文本,后缀名为.jsp 1.Jsp翻译成servlet:先翻译,Tomcat将翻译后的文件放置在安装目录下(所有JSP页面本质上就是Servlet程序) 2. ...

  7. Java开发之JSP指令

    一.page指令 page指令是最常用的指令,用来说明JSP页面的属性等.JSP指令的多个属性可以写在一个page指令里,也可以写在多个指令里.但需要注意的是,无论在哪个page指令里的属性,任何pa ...

  8. JavaWeb---总结(十六)JSP指令

    一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: pa ...

  9. JSP指令

    一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: pa ...

随机推荐

  1. 【读书笔记】iOS-使用SQL数据库保存信息

    使用BLOB字段来保存图片是不是一个好的方法还存在争议,小图片除外.更常用的方法是将图片保存为一个文件,然后只在数据中保存图片文件的元数据,比如文件的路径.但是,如果你想把数据文件(初始数据)打包成一 ...

  2. 程序员Web面试之JSON

    JSON是什么? JSON(JavaScript对象表示法), 是在网络通信下,常用的一种数据表达格式,它有助于我们于一个自描述的,独立的和轻的方式呈现并交换数据.这些数据可以易于和转换为JavaSc ...

  3. python网络编程:socket、服务端、客户端

    本文内容: socket介绍 TCP: 服务端 客户端 UDP: 服务端 客户端 首发时间:2018-02-08 01:14 修改: 2018-03-20 :重置了布局,增加了UDP 什么是socke ...

  4. The stacking context

    文档中的层叠上下文由满足以下任意一个条件的元素形成: 1. z-index 值不为 "auto"的 绝对/相对定位. 2. position位fixed. 3. opacity 属 ...

  5. [20171113]修改表结构删除列相关问题3.txt

    [20171113]修改表结构删除列相关问题3.txt --//维护表结构删除字段一般都是先ALTER TABLE <table_name> SET UNUSED (<column_ ...

  6. linux下zip文件解压乱码的问题

    因为编码问题,zip文件中的中文文件在linux下解压会出现乱码 如果你使用archlinux那么使用AUR安装unzip-natspec就可以解决这个问题 https://aur.archlinux ...

  7. 【公众号系列】在SAP里查看条件记录的方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]在SAP里查看条件记录的方法   ...

  8. 【第三篇】SAP ABAP7.5x新语法之程序结构&SubScreen

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文地址:SAP ABAP7.5x系列之程序结构& ...

  9. 项目 插件 -下载- 使用,jar包-下载

    插件 -下载- 使用 BootCDN前端开源项目https://www.bootcdn.cn/all/ bootstrap:HTML.CSS 和 JS 框架    插件https://v3.bootc ...

  10. 如何检查oracle的归档日志及空间占用率,清除归档日志

    如何解决“归档日志已满问题” 问题描述: 所用数据库为 Oracle 10g ,模式为归档模式,oracle 系统默认的归档空间为2G,由于日志过多,空间写满,数据库的redo文件不能归档,而出现or ...