JSP学习笔记——指令
来源:互联网 发布:php三段式判断语句 编辑:程序博客网 时间:2024/06/07 00:41
JSP指令格式为<%@ directive attribute="value" %>
directive表示指令标签,有三种为page,include,taglib
page用于设置页面相关的属性,例如脚本语言,页面错误,和缓冲的要求。include则是向当前页面插入一个静态文件的内容,文件可以是JSP、HTML、文本或是Java程序。taglib则是声明一个标签库,含自定义操作,在页面中使用。
page包含多种指令,具体表现为指令格式中的attribute,表示不同属性,分为以下几种
1. buffer,指定输出流的缓冲模型,缓冲区的作用就是为了提高IO性能,也就是说减少write的次数。可以编写“none”值来指定没有缓冲或者您可以编写一个最大缓冲区大小以kb为单位写入到响应之前,它指示的servlet写入缓冲区对象。这与另外一个属性autoFlush可以联系在一起。
2.autoFlush属性用来指定当输出流缓冲区满了的时候,是否自动刷新缓冲区,true的话,自动把缓冲区的内容输出到底层输出流,false的话,缓冲区满的话,会抛出IO异常。通常可以写成<%@ page buffer="16kb" autoflush="true" %>。
3.contentType属性指定JSP页面的MIME和编码格式,比如<%@ page contentType="text/html" %>指定生成HTML页面,<%@ page contentType="application/msword" %>设置内容类型为word类型,<%@ page contentType="text/html:charset=ISO-8859-1" %>则是字符编码方式。
4.errorPage 属性定义一个报告异常的jsp页面,当前页面发生异常,并且没有对异常进行捕获的时候,跳转到error.jsp页面,不指定errorPage的话,画面上直接显示异常的相关信息。格式为<%@ page errorPage="MyErrorPage.jsp" %>
5.isErrorPage 属性用于表示当前jsp页面是否为errorPage,与上面相对应,isErrorPage的值为true或false。在isErrorPage属性的默认值是false。
6.extends属性用于指定该JSP生成的servlet继承自哪个父类,必须指定包名加类名。格式<%@ page extends="somePackage.SomeClass" %>。
7.import 属性导入指定的包,和java的import功能类似。格式<%@ page import="java.sql.*,java.util.*" %>默认情况下,容器会自动导入 java.lang.*, javax.servlet.*, javax.servlet.jsp.*, and javax.servlet.http.*.
8.info属性定义一个String可被servlet的getServletInfo() 调用。格式为<%@ page info="This JSP Page Written By ZARA" %>
9.session属性指定JSP页面中是否可以使用HTTP会话,缺省是true,如果指定为false,那么在该页面中无法使用session,使用则会报错。格式为<%@ page session="true" %>
10.language 指定页面中使用的脚本语言种类,格式为<%@ page language="java" %>
11.isELIgnored属性指定是否禁用表达式语言(EL),设置为true,例如<%@ page isELIgnored="true"%> 不支持EL表达式,EL表达式会被当做普通的html文本,反之则是支持
12.isScriptingEnabled 属性则是决定是否允许使用脚本元素,例如<%@ page isScriptingEnabled="false" %>
include通常可以写成<%@ include file="relative url" >包含指定的文件内容到当前页面中,需要区分jsp动作中的方法 <jsp:include page="sample.jsp" flush="true">。两者不一样。前者理解为静态包含,后者理解为动态包含
1、静态include的结果是把其他jsp引入当前jsp,两者合为一体。
2、静态include纯粹是把代码写在外面的一种共享方法,所有的变量都是可以和include它的主文件共享,两者高度紧密结合,不能有变量同名的冲突.而页面设置也可以借用主文件的.
1、动态include的结构是两者独立,直到输出时才合并( 看看jsp生成的java文件就可以知道了)。
2、动态include的jsp文件独立性很强,是一个单独的jsp文件,需要使用的对象,页面设置,都必须有自己创建,当然,还好它和include它的页面的request范围是一致的。
include指令可以在JSP页面转换成Servlet之前,将JSP代码插入其中。它的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。include动作则是在主页面被请求时,将次级页面的输出包含进来。它的优点是在被包含的页面发生更改时,无须对主页 面做出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。一般使用include动作,这样易于维护。
- JSP学习笔记——指令
- JSP学习——jsp基本指令
- JSP学习笔记---page指令
- JSP学习笔记---包含指令
- jsp学习笔记_编译指令
- JSP学习笔记:初识指令标签和指令
- 8086学习笔记——传输指令
- AngularJs学习笔记——常见指令
- angularjs学习笔记—事件指令
- angularjs学习笔记—事件指令
- AngularJS学习笔记—事件指令
- iptables学习笔记2—参数指令
- angularjs学习笔记—事件指令
- angularjs学习笔记—指令input
- angularjs学习笔记—事件指令
- 学习JavaWeb之JSP——指令元素
- Java Web学习总结(15)——JSP指令
- javaweb学习总结(十六)——JSP指令
- 微信迭代二总结报告
- Git管理源代码
- Subclipse share project
- .net集合对象解惑篇
- Android环境搭建--ADT安装失败
- JSP学习笔记——指令
- 城市轨道交通之线路设计(一)
- 将gcc-4.8降级为gcc-4.6
- assignment makes integer from pointer without a cast
- Ubuntu 14 升级内核失败,强制重启无法进入引导界面
- POSIX线程中的互斥量
- DOS命令attrib的格式与用法
- vim 中文乱码
- 扫盲Tails操作系统(一)