JSP开发之常用JSP指令使用浅析

开发 后端
JSP指令在JSP程序中的应用是非常常见的,那他们有什么规则呢?本文将向你介绍JSP指令的一些技术要求。

JSP指令在JSP开发程序中的使用是非常普遍的,让我们开始对它的学习

﹤JSP directive mso-hansi-font-family:""﹥影响servlet 类的整体结构。它常用以下形式:

﹤%@ directive attribute=”value”%﹥

而且,您可以将多个属性写在一个语句中:

﹤%@ directive attribute1="value1" attribute2="value2" attributeN="valueN" %﹥

有两种主要的directive:

page,允许您做一些类似import classes的事,定义servlet的超类(Superclass),

mso-hansi-font-family:""﹥等;

include,允许您将文件插入servlet类中(当JSP文件翻译为servlet时)。

一、JSP指令之JSP page Directive

语法:

  1. ﹤%@ page  
  2. language="java" ]  
  3. extends="package .class" ]  
  4. import="{package .class | .*}, ..." ]  
  5. session="true|false" ]  
  6. buffer="none|8kb|sizekb" ]  
  7. autoFlush="true|false" ]  
  8. isThreadSafe="true|false" ]  
  9. info="text" ]  
  10. errorPage="relativeURL" ]  
  11. contentType="mimeType [ ;charset=characterSet ]" |  
  12. "text/html ; charset=ISO-8859-1" ]  
  13. isErrorPage="true|false" ]  
  14.  
  15. %﹥  
  16.  

Page directive mso-hansi-font-family:""﹥允许您定义一些区分大小写的属性:

(1)import = “package.class”或 import = “package.class1,..,package.classN”。

mso-hansi-font-family:""﹥

您可以定想要import的packages。例如:

﹤%@ page import="java.util.*" %﹥

import属性是这几个属性中***一个可以在一个JSP中出现多次的。

(2)contenType = “MIME=Type” 或contentType=“MIME-Type;charset=Character-Set”mso-hansi-font-family:""﹥

它指定输出的MIME类型。缺省为“text/html”。例如:

﹤%@ page contentType="text/plain" %﹥"

在scriptlet中等价于:

﹤% response.setContentType("text/plain"); %﹥

(3)isThreadSafe = “true | false”.如果值为“true”(缺省)表示:将进行普通的servlet处理,多个请求将被一个servlet实例并行处理,在这种情况下,编程人员同步访问多个实例变量。值为“false”时表示:servlet将实现单线程模式(SingleThreadModel),不管请求是顺序提交还是并发出现,都将提供不同的分离的servlet实例。

(4)session=”true | false”。 如果值为“true”(缺省)表示:预定义变量session(继承HttpSession)应该绑定到一个已存在的session,否则就应该创建一个并将之绑定。值为“false”时表示:将不使用session变量,如果试图使用,将在JSP向servlet转化时出现错误。

(5)buffer = “sizekb | none”。为JspWriter输出确定缓冲的大小。缺省由服务器而定,但至少要有8kb。

(6)autoflush=”true | false”。 如果值为“true mso-hansi-font-family:""﹥”(缺省)表示:当缓冲满时将自动清空,值为“false mso-hansi-font-family:""﹥”时表示:当缓冲满时递出一个异常,这很少使用。当buffer=”none”是若用false mso-hansi-font-family:""﹥值是不合法的。

(7)extends=”package.class”。这将为servlet产生一个超类。请特别谨慎的使用这一功能,因为,服务器也许已经定义了一个。

(8)info = “message”。定义一个可以通过调用getServletInfo方法得到的串。

(9)errorPage = “URL”。指定一个JSP mso-hansi-font-family:""﹥页面来处理任何一个可抛出的但当前页面并未处理的意外错误。

(10)isErrorPage = “true | false”。指定当前页面是否可以处理来自另一个页面的错误,缺省为“false”。

(11)language = “java” mso-hansi-font-family:""﹥。指出以下将使用的语言。不过,不必为这一属性费心,因为,“java mso-hansi-font-family:""﹥”既是缺省又是***合法的选择。

二、JSP指令之JSP include Directive

这种directive 使您可以在JSP转换为servlet时将一个文件包含进来。语法:

  1. ﹤jsp:include page="{relativeURL | ﹤%= expression %﹥}" flush="true" /﹥mso-hansi-font-family:";mso-font-kerning: 0pt"﹥或  
  2. ﹤jsp:include page="{relativeURL | ﹤%= expression %﹥}" flush="true" ﹥  
  3. ﹤jsp:param name="parameterName" 
  4. value="{parameterValue | ﹤%=expression %﹥}" /﹥+  
  5. ﹤/jsp:include﹥  
  6.  

URL mso-hansi-font-family:""﹥通常相对于指向它的JSP页面,但是,普遍使用相对“URL”,您可以使用一个斜杠“/”作为URL的开始来告知系统URL mso-hansi-font-family:""﹥相对的Web server的主路径。被包含的文件将以规则的JSP形式来解析,因此,您可以在其中使用静态HTML,scripting elements,directives,和 actions。

让我们来看一个例子,许多站点在每一个页面上包含一个小型的导航条。它通常出现在页面的顶部或左右侧,并包含在每一个页面里。这用include directive 来实现是很自然的,若用规则的HTML mso-hansi-font-family:""﹥来把这些语句拷到每一个页面无疑是个梦魇。请看下列代码:

  1. ﹤HTML﹥  
  2. ﹤HEAD﹥  
  3. ﹤TITLE﹥ JSP教程﹤/TITLE﹥  
  4. ﹤/HEAD﹥  
  5. ﹤BODY﹥  
  6. ﹤%@ include file="/navbar.html" %﹥  
  7. ﹤!— 本页面的其他部分... --﹥  
  8. ﹤/BODY﹥  
  9. ﹤/HTML﹥  
  10.  

以上就是对JSP指令的一些简单介绍,因为文件是在页面被转换时插入的,因此,如果导航条改变了,您需要将所有指向它的JSP mso-hansi-font-family:""﹥页面全部重新编译一次。如果您的导航条并不常改变这样做无疑是高效的,但是,如果您的被包含文件更改频繁,则建议您使用jsp:include action(后面将谈到)来替代,它在页面被请求时才包含文件。

【编辑推荐】

  1. JSP标签库解析
  2. 对JSP中的内置对象简单概述
  3. 使用JSP include机制改进外观
  4. 什么是JSP以及其强弱势
  5. JSP和Servlet中的几个编码的作用及原理
责任编辑:仲衡 来源: 互联网转载
相关推荐

2009-07-14 15:42:38

MyEclipse开发

2009-07-14 16:07:46

MyEclipse开发

2009-07-14 16:25:04

MyEclipse开发

2009-07-02 10:51:21

脚本编程JSP开发

2009-07-06 09:34:19

JSP页面

2009-06-29 17:39:31

JSP设计模式

2009-07-06 13:52:56

编写JSP Tag

2009-06-16 15:20:48

ApplicationJSP程序

2009-07-03 14:41:03

2009-07-06 14:05:11

JSP服务器

2009-07-03 09:08:23

JSP标记学习笔记

2009-07-03 09:08:23

JSP标记学习笔记

2009-07-14 10:47:47

MyEclipse J

2009-07-02 11:25:33

JSP课程

2009-07-01 18:20:29

JSP的优势

2009-07-03 17:48:34

JSP页面翻译

2009-06-30 11:33:55

脚本JSP教程

2009-03-17 16:18:51

JspActionStruts

2009-07-06 17:11:38

Servlet文件上传

2009-07-06 12:49:33

JSP编译器
点赞
收藏

51CTO技术栈公众号