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. js手写笔记

    1.document.write(); 2.document.getElementById("").style.color="red";//sytle.font ...

  2. springboot的优点

    2013年12月12日,spring发布了4.0版本.这个本来只是作为Java平台上的控制反转容器的库,经过将近10年的发展已经成为了一个巨无霸产品.不过其依靠良好的分层设计,每个功能模块都能保持较好 ...

  3. spring eclipse xml自动提示

    window -> preferences -> XML -> XML Catalog -> 在User Specified Entries新增加一个catalog

  4. Python 抓取数据存储到Mysql中

    # -*- coding: utf-8 -*- import os,sys import requests import bs4 import pymysql#import MySQLdb #连接MY ...

  5. leetcode-easy-design-155 Min Stack

    mycode   21.48% class MinStack(object): def __init__(self): """ initialize your data ...

  6. python3使用ltp语言云

    text="我爱自然语言处理." text=str(text) #text=urllib.quote(text) text=urllib.parse.quote(text) def ...

  7. 【10】css设置文字不换行,超过的部分用“...”代替

    设置文字不换行,超过的部分用“...”代替  overflow: hidden;  text-overflow: ellipsis;  white-space: nowrap;  width: 210 ...

  8. web开发(九) 使用javamail进行发送邮件,(使用QQ,163,新浪邮箱服务器)

    在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6506027.html>,在此仅供学习参考之用. 一.发送 ...

  9. 页面访问过程及get/post的理解——

    Chrome查看开发者工具面板,常看的一些数据? Elements:查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈. Console:记录开发者开发过程中 ...

  10. Report List 报表开发

    1. Report List的输出定义 * ...NO STANDARD PAGE HEADING: 输出的报表不包含表头: * ...LINE-SIZE col : 输出的报表不包含表头: * .. ...