JSP指令会被JSP引擎转换为相应的Java代码,但这些Java代码并不直接产生任何可见输出,而是告诉JSP引擎如何处理JSP页面,或是如何生成Servlet类。
JSP指令的语法格式如下:
<%@指令 属性名 = "值"%>
常见的编译指令有三个:
page:该指令是针对当前页面的指令。
include:用于指定包含另一个页面。
taglib:用于定义和访问自定义标签。
一、page指令
通常page指令位于JSP页面的顶端,在同一个JSP页面中可以有多个page指令,但不能重复指定同样的page指令。
page 指令中包含的属性:
1)import
语法:<%@page import="package.class|package.*,..."%>
说明:类似于在java中导入包一样,如果JSP页面中用到一些类,需要使用page指令的import属性导入使用的类。import设置当前JSP页面中要用到的Java类,这些java类可能是JDK的类,也可能是自定义的类。在JSP页面中也默认加入"java.lang.*;"、"java.servlet.*"、"java.servlet.jsp.*;"、"java.servlet.http.*;"。
2)session
语法:<%page session = "true|false" %>
说明:定义当前页面是否参与HTTP会话。当设置为true时,可以获得隐含的名session的对象,为false时,则不可以获得该对象。默认为true。
3)contentType
语法:<%page contentType = "mimeType[;charset=characterSet]"%>
说明:使用contentType属性可以设置JSP页面应答的MIME类型,默认值为"text/html"。另外可以定义JSP页面的字符编码方式,默认值为ISO-8859-1,即英文文本。如果在JSP中使用中文,则可以定义字符编码方式为GBK。
4)isThreadSafe(慎用)
语法:<%page isThreadSafe = "true|false" %>
说明:定义当前页面是否支持线程安全。若为true,则该页面可能同时收到JSP引擎发送的多个请求;反之,JSP引擎会对收到的请求进行排除,当前页面在同一时刻只处理一个请求。默认为true。
5)info
语法:<%page info = "some text" %>
说明:info属性允许开发人员包含有关页面的文本信息,可以通过Servlet.getServletInfo()方法得到该字符串。
6)language
语法:<%page language = "java" %>
说明:language属性定义JSP使用的脚本语言,JSP容器允许使用其他语言进行JSP开发,但这些语言需要满足JSP规范中定义的规则。默认为java。
7)extends
语法:<%page extends = "jsp base class" %>
说明:extends属性用来指定生成的JSP Servlet的基类。默认为扩展JspBase类。
8)buffer
语法:<%page buffer = "8k" %>
说明:buffer属性用来指定响应的缓冲模型。默认值为8k。若设置为none,则表示该JSP页面不使用缓冲,所有响应输出孝将被PrintWriter直接写到ServletResponse中。
9)autoFlush
语法:<%page autoFlush = "true|flase" %>
说明:当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容,设置为TRUE时为正常输出;如设置为FALSE,则会在buffer溢出时产生一个异常。
10)errorPage
语法:<%page errorPage = "true|flase" %>
说明:errorPage用来设定当JSP页面出现异常时,所要转身的页面。如果没有设定,则JSP容器会用默认的当前页面来显示出错信息。例如,<%@page errorPage="/error/error_page.jsp"%>
11)isErrorPage
语法:<%page isErrorPage = "true|flase" %>
说明:isErrorPage指定当前页面是否是错误处理页面。默认值为false。若设定为true,则JSP容器会在当前页面中生成一个exception对象。
二,include指令
使用include指令,可以将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句(如果有的话)。这是个静态的include语句,它会把目标页面的其他编译指令也包含进来,但动态include则不会。
include既可以包含静态的文本,也可以包含动态的JSP页面。静态的include编译指令会将被包含的页面加入本页面,融合成一个页面。
include编译指令的语法:
<%@include file="relativeURLSpec"%>
如果被嵌入的文件经常需要改变,建议使用<jsp:include>操作指令,因为它是动态的include语句。
三,taglib
使用的较少
taglib指令
taglib指令允许用户使用标签库自定义新的标签,它的语法格式如下:
<% taglib uri="taglibURI" prefix="tabPrefix"%>
taglib指令中的uri属性用于根据标签的前缀对自定义的标签进行唯一的命名,其值可以食相对路径,就对路径或标签库描述文件。属性prefix制定了标签的前缀。
示例:
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
说明:
tagPrefix:
自定义标签的前缀名。如果前缀为bean,那么在页面上使用的此标签库中任何标签标签应写为<bean:XXX>,这里XXX是标签名。
URIToTagLibrary:
标签库本身的URI。可以是以“/”开始的绝对路径名,“/”解释为Web应用的根。或者是一个充作TLD符号名的URL。这种情况下,名字必须通过web.xml文件中的<tablig>入口被映射到实际的TLD。
分享到:
相关推荐
jsp中include指令静态导入和动态导入的区别详解JSP编译指令page、include详解JSP中动态include与静态include的区别介绍JSP指令元素(page指令/include指令/taglib指令)复习整理基于jsp:included的使用与jsp:param乱码...
JSP基础与案例开发详解书本中的源代码,能够编译运行通过,由于太大这是下半部分,上以传。
您可能感兴趣的文章:JSP常见的三个编译指令page、include、taglibJSP编译指令page、include详解JSP指令元素(page指令/include指令/taglib指令)复习整理JSP语法Page指令JSP页面pageEncoding和contentType属性JSP ...
主要介绍了JSP编译指令page、include,有需要的朋友可以参考一下
2、在运行的时候JSP被容器自动翻译成为一个servlet 3、不需要在配置文件里面配置(当然配置也可以) 4、文件被修改之后,自动被重新编译 5、Servlet生成静态页面比较麻烦,适合做Control层,JSP生成页面比较容易,...
JSP基础与案例开发详解书本中的源代码,能够编译运行,供大家学习参考。由于太大分两次传的,想要的仔细找找
第5章 JDBC技术基础 5.1 JDBC概述 5.2 JDBC API 5.3 JDBC操作数据库 5.4 本章小结 第6章 JDBC的高级特性 6.1 PreparedStatement预编译对象 6.2 CallableStatement存储过程对象 6.3 BatchedUpdate...
JSP指令标记为JSP页面转译提供整个页面的相关信息。 include指令用于在JSP页面静态插入一个文件,被插入的文件可以是JSP页面、HTML页面、文本文件或一段Java代码。使用了include指令的JSP页面在转换成Java文件时,...
例如,可以使用三个 scriptlet 实现条件内容,清单 1 中着重显示了这三个 scriptlet。但是,因为脚本编制元素依赖于在页面中嵌入程序源代码(通常是 Java 代码),所以对于使用这些脚本编制元素的 JSP 页面,其软件...
静态导入指的是,将一个外部文件嵌入到当前JSP文件中,同时解析这个页面的JSP语句,它会把目标页面的其他编译指令也包含进来。include的静态导入指令使用语法: 代码如下:<%@include file=”relativeURLSpec...
JSP编译器指引与指令元件有五种型态.在JSP1.0之后,大部分的JSP是包含在以作为结束的单一标签里.新的JSP1.1规格已经发表了,它同时也与XML相容. 五种JSP的编译器指引如下所示: 1.编译器指引 2.预定义 3.运算式 4....
采用相对路径 假设当前目录名为a, 目标文件夹为b (1)如果b是a的上级目录, 代码如下:<...jsp中include指令静态导入和动态导入的区别详解JSP编译指令page、include详解JSP中动态include与静态include的区别介绍JSP指
一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...
一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...
第1 章 JSP 简介................................................................................10 1.1 什么是JSP........................................10 1.2 JSP 页面.....................................
主要介绍了 Jasper的自动检测实现的机制比较简单,依靠某后台线程不断检测JSP文件与编译后的class文件的最后修改时间是否相同,若相同则认为没有改动,但倘若不同则需要重新编译,需要的朋友可以参考下
第三篇 J2EE开发工具整合技术 第十章 使用Spring快速实现Web开发 10.1 Spring介绍 10.1.1 Spring简介 10.1.2 下载Spring 10.1.3 配置Spring 10.2 Spring核心思想 10.2.1 反向控制(IoC) 10.2.2 依赖注入(DI) 10.3...
一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...
这一节将介绍 ServletContext 和 ServletConfig 这两个接口。 通过这两个接口,我们可以在web.xml中设置一些参数,如数据库地址、用户名密码等,供 Servlet 使用, 这样每次参数值变动时,不用重新编译Servlet了。 ...
主要介绍了jsp 生命周期详细介绍的相关资料,JSP有编译阶段,初始化阶段,执行阶段,销毁阶段,需要的朋友可以参考下