JSP有3个编译指令,是通知JSP引擎的消息,它不直接生成输出。编译指令都有默认值,无须为每个指令设置值。

  常见的编译指令有如下三个:

  •   page:针对当前页面的指令。
  •   include:指定包含另一个页面。
  •   taglib:定义和访问自定义标签。

  使用编译指令的语法格式如下:

  <%@ 编译指令名 属性="属性值" ...%>

page指令

  page指令通常位于JSP页面的顶端,一个JSP页面可以使用多条page指令,语法格式如下:

  <%@page

    [language="Java"] [extends="package.class"]

    [import="package.class|package.*,...*]

    [session="true | false "] [buffer="none | 8KB | size Kb"]

    [autoFlush="true | false"] [info="text"] [errorPage="relativeURL"]

    [contentType="mimeType[;charset=characterSet]"|"text/html;charSet=ISO-8859-1"]

    [pageEncoding="ISO-8859-1"][isErrorPage="true | false"]

  %>

  page指令各属性的意义:

  •   language:声明但钱JSP压面使用的脚本语言的种类,通常是Java,默认值也是Java,通常无需设置。
  •   extends:指定JSP页面编译所产生的Java类所集成的父类,或所实现的接口。
  •   import:用来导入包。下面几个包是默认自动导入的,不需要显示导入:java.lang.*、javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*。
  •   session:设定这个JSP页面是否需要HTTP Session。
  •   buffer:指定输出缓冲区的大小。输出缓冲区的JSP内部对象为out,用于缓存JSP页面对客户端浏览器的输出,默认值为8KB,可以设置为none,也可以设置为其他的值,单位为Kb。
  •   autoFlush:当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容。true时为正常输出,false时则会在buffer溢出时产生一个异常。
  •   info:设置该JSP程序的信息,可以看作其说明,通过Servlet.getServletInfo()方法可以获取该值。如果在JSP页面中,可直接调用getServletInfo()方法获取该值。
  •   errorPage:指定错误处理页面。如果本页面产生了异常或者错误,而该JSP页面没有对应的处理代码,则会自动调用该属性所指定的JSP页面,因为JSP内建了异常机制支持。Internet Explorer需要取消设置"显示友好HTTP错误信息“,才支持该属性。
  •   isErrrorPage:设置JSP页面是否为错误处理程序。如果true,则无需指定errorPage属性。
  •   contentType:用于设定生成网页的文件格式和编码字符集,即MIME类型和页面字符集类型,默认MIME类型是text/html;默认的字符集类型是ISO-8859-1。
  •   pageEncoding:指定生成网页的编码字符集。

include指令

  这是个静态的include语句,它把目标页面的其他编译指令也包含进来,但动态include不会。include既可以包含静态的文本,也可以包含动态的JSP页面。静态的include编译指令会将被包含的页面加入本页面,融合成一个页面,因此被包含页面甚至不需要是一个完整的页面。

  语法:

  <%@include file=”relativeURLSpec"%>

  如果被嵌入的文件经常需要改变,应使用<jsp:include>操作指令,因为它是动态的include语句。

JSP的编译指令的更多相关文章

  1. JSP中编译指令include与动作指令include的区别

    include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...

  2. jsp 的 3 个编译指令

    JSP 的编译指令是通知 JSP 引擎的消息,它不直接生成输出. 常见的编译指令有如下三个: 1.page:该指令是针对当前页面的指令 2.include:用于指定包含另一个页面 3.taglib:用 ...

  3. jsp笔记2(编译指令与动作指令)

    一.jsp的编译指令是通知jsp引擎的消息,不会生成输出. jsp的3个编译指令: page:针对当前页面的指令   include:包含另一个页面的指令   taglib:用于定义和访问自定义标签 ...

  4. 【JSP】JSP基础学习记录(一)—— 基础介绍以及3个编译指令

    序: 从实现到现在一直是以.net为主,但偶尔也会参与一些其他语言的项目.最近需要对一个Java Web项目进行二次开发,一直没学习过JSP所以买了几本书自学试试.参考资料为<轻量级Java E ...

  5. 02.JSP的3个编译指令

    本章介绍JSP的3个编译指令,在JSP中常见的编译指令有如下3个:         1.page:用于针对当前页面的指令.         2.include:用于指定包含另一个页面.         ...

  6. jsp的常用指令有哪些(编译指令/动作指令整理)

    jsp的常用指令有哪些(编译指令/动作指令整理) JSP动作指令 JSP - JSP中的脚本.指令.动作和注释

  7. 二、JSP的3个编译指令,7个动作指令,9个内置对象

    JSP 3个编译指令 1)  page指令(基本不需要用到,使用默认即可) 主要属性: 1.Language:指定脚本所采用的语言类型,现在只支持java 2.Extends:定义当前jsp产生的se ...

  8. jsp笔记,包括编译指令和动作指令,九大对象等

    jsp基础知识 不包括HTTP协议,只有jsp的基础知识,包括表达式,代码片段,jsp九大对象等. 编译指令是在jsp被转换成selvet时,使用的. 而动作指令,是在每次客户端请求时动态执行.

  9. JavaWeb从0开始学(二)-----JSP基本语法与编译指令

    在上一节中我们学习了如何搭建一个简单的Web应用,并且已经知晓了一个JSP页面主要由静态的HTML内容和动态的Java脚本共同组成.JSP的基本语法共有JSP注释.JSP声明.输出JSP表达式与JSP ...

随机推荐

  1. extern “C”原理,用法以及使用场景-2016.01.05

    1 问题提出 在编程过程中,经常发现如下用法: #ifndef _FILE_NAME_H_ #define _FILE_NAME_H_ #ifdef __cplusplus extern " ...

  2. c#实现每隔规定时间自动执行程序代码

    c#实现每隔规定时间自动执行程序代码  在一般的项目中我们很少用到c#实现每隔规定时间自动执行程序代码,但是如果你经历的项目多,或者应用程序做的比较多的话,c#实现每隔规定时间自动执行程序代码就用的比 ...

  3. 1Android系统移植与驱动开发概述

    1.Android系统架构分为四层,从下至上依次为Linux内核层,C/C++代码库.Android SDK API.应用程序,要熟悉每一层的内容以及功能: 2.Android移植分为应用移植和系统移 ...

  4. HTML新特性之一----canvas

    <canvas id="me"></canvas>//申请一个canvas标签    <script>                var c ...

  5. Cookie禁用了,Session还能用吗?

    Cookie与Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案.Cookie分为两种,一种可以叫做session ...

  6. JavaScript学习小结(一)——JavaScript入门基础

    一.JavaScript语言特点 1.1.JavaScript是基于对象和事件驱动的(动态的) 它可以直接对用户或客户输入做出响应,无须经过Web服务程序.它对用户的响应,是采用以事件驱动的方式进行的 ...

  7. 学习笔记 - 数据绑定之knockout

    参考: http://www.cnblogs.com/TomXu/archive/2011/11/21/2257154.html http://knockoutjs.com/documentation ...

  8. MHA学习笔记

    MHA是一款开源的MySQL高可用程序,为MySQL主从复制架构提供了节点故障转移功能,当 master发生故障时MHA会自动提升拥有最新数据的slave节点成为新的主节点,还提供了master节 点 ...

  9. php对mysql简单读取的实例

    读取mysql数据库 例. <?php    $link=mysql_connect("localhost","root","之前的管理员密码& ...

  10. C++ 里 构建动态二维数组

    //****动态二维数组 /* int m=3; int **data; int n=2; data=new int*[m]; for(int j=0;j<m;j++) { data[j]=ne ...