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. 微信小程序下拉框之二维数组或对象

    在项目中,我们大多数时候传的值并不是需要这个下标,而是其他的值.像我项目中,需要获取到的是它对应的Id,那么我们如何通过它的这个下标值返回你想要的值呢? 通过picker返回的索引值,去获取匹配你想获 ...

  2. CSS3圆圈动画放大缩小循环动画效果

    代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...

  3. web全栈架构师[笔记] — 01 ECMAScript6新特性

    ES6新特性 一.变量 var:重复定义不报错:没有块级作用域:不能限制修改 let:变量,不能重复定义,有块级作用域 const:常量,不能重复定义,有块级作用域 二.函数/参数 箭头函数——简写: ...

  4. 在Apex中使用sObject

    sObject对象的定义 Salesforce中的标准对象或自定义对象在Apex中使用时被称作"sObject".sObject对象的一个实例相当于Salesforce中的一条记录 ...

  5. loadrunner 场景设计-添加Windows Resources计数器

    场景设计-添加Windows Resources计数器 by:授客 QQ:1033553122 目的 监控要测试的windows服务器的资源使用情况 步骤 1.添加视图,方法双击.拖动左侧的Windo ...

  6. python第二天 列表、元组

    今天学习了列表.元组相关的知识:与C中的数组列表相似,元组为只读列表: 以及切片相关操作: #!usr/bin/env python #-*-coding:utf-8-*- # Author calm ...

  7. VMware虚拟机中CentOS 7的硬盘空间扩容

    查看centos7系统挂载点信息 扩展VMWare-centos7硬盘空间 对新增加的硬盘进行分区.格式化 添加新LVM到已有的LVM组,实现扩容 1.查看centos7系统挂载点信息 df -h查看 ...

  8. Maven将依赖包、jar/war包及配置文件输出到指定目录

    使用Maven插件将依赖包 jar包 war包及配置文件输出到指定目录 写在前面 ​ 最近遇到一个朋友遇到一个项目需要将 maven 的依赖包和配置文件分开打包然后用脚本执行程序.这样的好处在于可以随 ...

  9. 【PAT】B1059 C语言竞赛(20 分)

    这个题也是个逻辑问题 此题用我这种方式很复杂,应该用map 用两个分别储存成绩,已领过奖的人, #include<stdio.h> #include<math.h> int a ...

  10. Hbase-2.0.0_03_Hbase数据模型

    1. hbase数据模型 1.1. HBase数据模型术语 Table HBase表由多行组成. Row HBase中的一行由一个行键和一个或多个列组成,列的值与这些列相关联.存储行时,按行键按字母顺 ...