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. layui switch 开关监听 弹出确定状态转换

    不废话,直接上图: 原始状态:   点击确定: 点击取消或者X 代码: <!doctype html> <html lang="en"> <head& ...

  2. Oracle 11gR2_database在Linux下的安装

    Oracle 11gR2_database在Linux下的安装 by:授客 QQ:1033553122 由于篇幅问题,采用链接分享的形式,烦请复制以下网址,黏贴到浏览器中打开,下载 http://pa ...

  3. Android根据图片Uri获取图片path绝对路径的几种方法【转】

    在Android 编程中经常会用到Uri转化为文件路径,如我们从相册选择图片上传至服务器,一般上传前需要对图片进行压缩,这时候就要用到图片的绝对路径. 下面对我开发中uri转path路径遇到的问题进行 ...

  4. Django基础篇--模板和路由分发

    Django模板 首先什么是一个模板? 简单来说就是一个网页,可以被view响应给用户 目的是为了解决复杂的显示问题 2. 模板的设置问题 setting.py中的TEMPLATES配置 1)BACK ...

  5. [iOS] KVC 和 KVO

    开发iOS经常会看见KVO和KVC这两个概念,特地了解了一下. 我的新博客wossoneri.com link KVC Key Value Coding KVC是一种用间接方式访问类的属性的机制.比如 ...

  6. [软件逆向]实战Mac系统下的软件分析+Mac QQ和微信的防撤回

      0x00  一点废话 最近因为Mac软件收费的比较多,所以买了几款正版软件,但是有的软件卖的有点贵,买了感觉不值,不买吧,又觉得不方便,用别人的吧,又怕不安全.于是我就买了正版的Hopper Di ...

  7. jmeter利用自身代理录制脚本

    在利用代理录制脚本时一定要安装java jdk,不然不能录制的. 没有安装过java jdk安装jmeter后打开时会提示安装jdk,但是mac系统中直接打开提示安装jdk页面后下载的java并不是j ...

  8. Linux删除文件实现回收站功能

    转载于 https://blog.csdn.net/u014057054/article/details/52126494 从事过服务器维护的人都知道rm.rm -rf 的厉害,执行起来一点也不马虎, ...

  9. 上下文管理器——with语句的实现

    前言 with语句的使用给我们带来了很多的便利,最常用的可能就是关闭一个文件,释放一把锁. 既然with语句这么好用,那我也想让我自己写的代码也能够使用with语句,该怎么实现? 下面具体介绍怎样实现 ...

  10. 网络编程_IP对象_InetAddress

    import java.net.InetAddress; import java.net.UnknownHostException; public class IPDemo { public stat ...