JSP指令用于提供整个JSP页面的相关信息以及用于JSP页面与容器之间的通信。JSP指令有三种:page指令、include指令、taglib指令

1.page指令

  用于设定整个JSP页面的属性和相关功能,page指令共有11个属性

  1. contentType属性和pageEncoding属性: contentType属性指定JSP页面的MIME和编码格式<%@page contentType="text/html;charset=UTF-8"%> pageEncoding属性用来指定JSP文件的编码格式(JSP文件保存时选择的编码格式)<%@page contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>。其实pageEncoding和contentType这两个属性的关系很“暧昧”:当设 置了pageEncoding,而没设置contentType时: contentType的默认值为 pageEncoding;当设置了contentType,而没设置pageEncoding时: pageEncoding的默认值contentType;
  2. import属性:在JSP中引入Java的包和类,多个包之间以逗号隔开 <%@page import="mypackage.test.*,java.util.Date"%>
  3. session属性:指定当前页面是否能获得当前用户的session对象,缺省是true,如果指定为false,那么在该页面中无法使用session,使用的话会提示500错误。<%@page session="true"%>
  4. errorPage属性:如果当前页面发生异常,网页会重定向到errorPage所指定的页面进行处理<%@page errorPage="error.jsp" isErrorPage="false"%>  当前页面发生异常,并且没有对异常进行捕获的时候,跳转到error.jsp页面,不指定errorPage的话,画面上直接显示异常的相关信息,这样对使用的用户不是很友好
  5. isErrorPage属性:允许指定的JSP页面为错误处理页面
  6. language属性:指定页面中使用的脚本语言种类,目前只支持java <%@page language="java"%>
  7. extends属性:指定该JSP生成的servlet继承自哪个父类,必须指定包名加类名<%@page extends="mypackage.test.MyJspBase"%>
  8. buffer属性和autoFlush属性:buffer属性用来设置输出流缓冲区,缓冲区的作用就是为了提高IO性能,也就是说减少write的次数。autoFlush属性用来指定当输出流缓冲区满了的时候,是否自动刷新缓冲区,true的话,自动把缓冲区的内容输出到底层输出流,false的话,缓冲区满的话,会抛出IO异常。
  9. isThreadSafe属性:缺省值为true,指定该JSP文件是否支持多线程访问<%@page isThreadSafe="true"%> 此时,多个线程共用同一个servlet实例。<%@page isThreadSafe="false"%> 此时,每个线程都有一个自己的servlet实例,比较消耗内存资源,所以不建议使用
  10. info属性:设置该jsp文件的介绍信息 <%@page info="This is a jsp page."%>
  11. isELIgnored属性:标示是否支持EL表达式<%@page isELIgnored="true"%>  不支持EL表达式,EL表达式会被当做普通的html文本。<%@page isELIgnored="false"%> 支持EL表达式

2.include指令

  表示在JSP编译时插入一个包含文件或者代码的文件,是一种静态包含

  1. include指令只有一个属性:file,指定要包含的页面,例如:<%@include file=”b.jsp”%>。静态包含:当hel.jsp页面包含了lo.jsp页面后,在编译hel.jsp页面时,需要把hel.jsp和lo.jsp页面合并成一个文件,然后再编译成Servlet(Java文件)。include指令所包含的文件名不能是一个变量url,只能是静态的文件名。 在被包含页面中,一般不包含标记,两个页面之间不能存在相同的局部变量。

3.taglib指令

  声明JSP文件使用了标签库(JSP标准标签库,第三方标签库,自定义标签库)

  1. <%@taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core"%>  声明使用JSTL的核心标签库taglib指令让用户能够自定义标签

JavaEE--JSP指令的更多相关文章

  1. javaee学习-JSP指令简介

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

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

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

  3. JSP指令

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

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

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

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

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

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

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

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

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

  8. JavaEE JSP 学习笔记

    一.JSP简介 1.也是SUN公司推出的开发动态web资源的技术,属于JavaEE技术之一.由于原理上是Servlet, 所以JSP/Servlet在一起. 二.HTML.Servlet和JSP 1. ...

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

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

  10. JSP学习(二)JSP指令

    JSP指令 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. JSP指令的基本语法格式:<%@ 指令 属性名= ...

随机推荐

  1. cursor url 自定义鼠标样式

    cursor可以自定义鼠标,写法是cursor:url(“图片路径”),pointer; url:需使用的自定义光标的 URL.图片类型需要是.cur或.ani和jpg,png等格式的(.cur或.a ...

  2. es6字符串的扩展——模板

    todo1.模板字符串 传统的 JavaScript 语言,输出模板通常是这样写的(下面使用了 jQuery 的方法). $('#result').append( 'There are <b&g ...

  3. java知识查漏补缺

    一.重写(override)和重载(overload)的区别 二者除了名字相似,其实没什么联系 范围不同:重载发生在同一个类的不同方法之间.重写发生在父类和子类自荐. 前提: 重载要求:方法名相同,参 ...

  4. textarea 自动高度

    textarea 自动撑开高度 var textAreaArr = document.querySelectorAll('.textarea'); for (var i = 0; i < tex ...

  5. idea 编译内存溢出

    idea.max.intellisense.filesize=9999 idea.max.content.load.filesize=99999 idea.cycle.buffer.size=disa ...

  6. mysql 判断时间 语法

    今天  select * from 表名 where to_days(时间字段名) = to_days(now());  昨天  SELECT * FROM 表名 WHERE TO_DAYS( NOW ...

  7. hibernate 一对多单向注解配置(实现级联操作 )

    学生表关联学生的课程表(一对多) 学生表实体类: @Entity @Table(name = "JXD_COM_STUDENT") public class StudentMode ...

  8. VUE生命周期demo

    <!DOCTYPE html> <html>   <head>     <title></title>     <script typ ...

  9. 【python】小型神经网络的搭建

    import numpy as np def sigmoid(x): # Sigmoid activation function: f(x) = 1 / (1 + e^(-x)) return 1 / ...

  10. shell编程常用命令

    Linux中常用的命令 #nl  filename   使用nl命令打印文件内容并显示行号 #sed   '/nw/,$d'   filename     使用sed命令删除匹配nw至最后一行的内容 ...