您现在的位置: 天极网 > 开发频道 > web开发 > Java Servlet和JSP教程之十二
全文

Java Servlet和JSP教程之十二

2001-12-31 10:20作者:仙人掌工作室出处:yesky责任编辑:方舟

  12.2 JSP指令

  JSP指令影响Servlet类的整体结构,它的语法一般如下:

<%@ directive attribute="value" %>
 

  另外,也可以把同一指令的多个属性结合起来,例如:

<%@ directive attribute1="value1"
attribute2="value2"
...
attributeN="valueN" %>

  JSP指令分为两种类型:第一是page指令,用来完成下面这类任务:导入指定的类,自定义Servlet的超类,等等;第二是include指令,用来在JSP文件转换成Servlet时引入其他文件。JSP规范也提到了taglib指令,其目的是让JSP开发者能够自己定义标记,但JSP 1.0不支持该指令,有希望它将成为JSP 1.1的主要改进之一。

  12.2.1 page指令

  page指令的作用是定义下面一个或多个属性,这些属性大小写敏感。

import="package.class",或者import="package.class1,...,package.classN":

  用于指定导入哪些包,例如:<%@ page import="java.util.*" %>。import是唯一允许出现一次以上的属性。

contentType="MIME-Type" 或contentType="MIME-Type; charset=Character-Set":

  该属性指定输出的MIME类型。默认是text/html。例如,下面这个指令:

<%@ page contentType="text/plain" %>。

和下面的Scriptlet效果相同:

<% response.setContentType("text/plain"); %>
isThreadSafe="true|false"

  默认值true表明Servlet按照标准的方式处理,即假定开发者已经同步对实例变量的访问,由单个Servlet实例同时地处理多个请求。如果取值false,表明Servlet应该实现SingleThreadModel,请求或者是逐个进入,或者多个并行的请求分别由不同的Servlet实例处理。

session="true|false"

  默认值true表明预定义变量session(类型为HttpSession)应该绑定到已有的会话,如果不存在已有的会话,则新建一个并绑定session变量。如果取值false,表明不会用到会话,试图访问变量session将导致JSP转换成Servlet时出错。

buffer="size kb|none"

  该属性指定JspWrite out的缓存大小。默认值和服务器有关,但至少应该是8 KB。

autoflush="true|false"

  默认值true表明如果缓存已满则刷新它。autoflush很少取false值,false值表示如果缓存已满则抛出异常。如果buffer="none",autoflush不能取false值。

extends="package.class"

  该属性指出将要生成的Servlet使用哪个超类。使用该属性应当十分小心,因为服务器可能已经在用自定义的超类。

info="message"

  该属性定义一个可以通过getServletInfo方法提取的字符串。

errorPage="url"
 

  该属性指定一个JSP页面,所有未被当前页面捕获的异常均由该页面处理。

isErrorPage="true|false"

  该属性指示当前页面是否可以作为另一JSP页面的错误处理页面。默认值false。

language="java"

  该属性用来指示所使用的语言。目前没有必要关注这个属性,因为默认的Java是当前唯一可用的语言。

  定义指令的XML语法为:

<jsp:directive.directiveType attribute=value />

  例如,下面这个指令:

<%@ page import="java.util.*" %>

  它的XML等价表达是:

<jsp:directive.page import="java.util.*" />

  12.2.2 include指令

  include指令用于JSP页面转换成Servlet时引入其他文件。该指令语法如下:

<%@ include file="relative url" %>

  这里所指定的URL是和发出引用指令的JSP页面相对的URL,然而,与通常意义上的相对URL一样,你可以利用以“/”开始的URL告诉系统把URL视为从Web服务器根目录开始。包含文件的内容也是JSP代码,即包含文件可以包含静态HTML、脚本元素、JSP指令和动作。

  例如,许多网站的每个页面都有一个小小的导航条。由于HTML框架存在不少问题,导航条往往用页面顶端或左边的一个表格制作,同一份HTML代码重复出现在整个网站的每个页面上。include指令是实现该功能的非常理想的方法。使用include指令,开发者不必再把导航HTML代码拷贝到每个文件中,从而可以更轻松地完成维护工作。

  由于include指令是在JSP转换成Servlet的时候引入文件,因此如果导航条改变了,所有使用该导航条的JSP页面都必须重新转换成Servlet。如果导航条改动不频繁,而且你希望包含操作具有尽可能好的效率,使用include指令是最好的选择。然而,如果导航条改动非常频繁,你可以使用jsp:include动作。jsp:include动作在出现对JSP页面请求的时候才会引用指定的文件,请参见本文后面的具体说明。
共4页。 9 1 2 3 4 :

软件资讯·软件下载尽在天极软件

相关搜索:
相关文章及软件
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众