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. [总结]jQuery之常用函数方法参考手册

    w3school参考地址:http://www.w3school.com.cn/jquery/index.asp runoob参考地址:http://www.runoob.com/jquery/jqu ...

  2. Windows下更新 npm 和 nodejs

    一.更新npm // 将npm更新到最新版本 npm install npm@latest -g 二.更新nodejs 1. 首先通过 where node 命令找到nodejs的安装路径 2. 然后 ...

  3. 利用python和shell脚本生成train.txt的标签文件

    1. 用shell脚本生成带绝对路径的train.txt 例如我要生成如下形式的带标签的文件,如图:(如有两个标签:0 和 1) shell脚本如下: 这样标签0写入了train.txt # /usr ...

  4. Python 基于urllib.request封装http协议类

    基于urllib.request封装http协议类 by:授客QQ:1033553122 测试环境: Python版本:Python 3.3   代码实践 #!/usr/bin/env python ...

  5. Chrome Inspect调试stetho出现空白的解决方法

    stetho可以使用chrome调试webview,有网友反映国内不行,亲测了一下是有解决方法的: Chrome://inspect 打开后会发现stetho的页面: 点击inspect,如果没有Fa ...

  6. datagridview 行高列宽的自动设置

    1) 设定行高和列宽自动调整 [C#]// 设定包括Header和所有单元格的列宽自动调整 DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSi ...

  7. C++中cin.clear()的用法

    我们谈谈cin.clear的作用,第一次看到这东西,很多人以为就是清空cin里面的数据流,而实际上却与此相差很远,首先我们看看以下代码: #include <iostream>  usin ...

  8. SQL SERVER孤立帐号的处理

    Step1:查询 Use KSHR_F23 Go exec sp_change_users_login @Action='Report' Go Step2:处理 Use KSHR_F23 Go exe ...

  9. alsa声卡分析alsa-utils调用过程(二)-tinymixer

    继上一篇文章:http://www.cnblogs.com/linhaostudy/p/8515277.html 三.tinymixer调用分析:(tinymixer.log搜索节点:/dev/snd ...

  10. ELK-elasticsearch-6.3.2部署

    参考博客:linux下ElasticSearch.6.2.2集群安装与head.Kibana.X-Pack..插件的配置安装 参考博客:ELK5.5.1 插件安装实践纪要(head/bigdesk/k ...