jsp 指令元素、脚本元素、动作元素

来源:互联网 发布:市政设计院排名知乎 编辑:程序博客网 时间:2024/04/25 10:04

指令元素(directive elements

1page 指令

page指令作用于整个JSP页面,定义了许多与页面相关的属性,这些属性将被用于和JSP容器通信。

 

page指令的语法如下:

<%@page attr1="value1" attr2="value2" … %>

page指令有13个属性,如下所示:

language="scriptingLanguage"  默认值是java

extends="className"

import="importList"

session="true|false"

buffer="none|sizekb"

autoFlush="true|false"

isThreadSafe="true|false"

info="info_text"

errorPage="error_url"

isErrorPage="true|false"

contentType="ctinfo"

pageEncoding="peinfo"

isELIgnored="true|false"

 

2include指令

include指令用于在JSP页面中静态包含一个文件,该文件可以是JSP页面、HTML网页、文本文件或一段 Java代码。使用了include指令的JSP页面在转换时,JSP容器会在其中插入所包含文件的文本或代码。include指令的语法如下:

<%@ include file="relativeURLspec" %>

XML语法格式的include指令如下:

<jsp:directive.include file="relativeURLspec"/>

file属性的值被解释为相对于当前JSP文件的URL

 

注意:在被包含的文件中最好不要使 <html></html><body></body>等标签,因为这会影响到原JSP文件中 同样的标签,有时会导致错误。另外,因为原文件和被包含的文件可以互相访问彼此定义的变量和方法,所以在包含文件时要格外小心,避免在被包含的文件中定义 了同名的变量和方法,而导致转换时出错;或者不小心修改了另外文件中的变量值,而导致出现不可预料的结果。

 

3taglib 指令

ablib指令允许页面使用用户定制的标签。tablib指令的语法如下:

<%@ taglib(uri="tagLibraryURI" | tagdir="tagDir")prefix="tagPrefix" %>

XML语法格式的taglib指令如下:

<jsp:directive.tablib(uri="tagLibraryURI" | tagdir="tagDir")prefix="tagPrefix"/>

taglib指令有三个属性:

uri

tagdir

prefix

 

脚本元素(scripting elements

脚本元素包括三个部分:声明、脚本段和表达式。JSP2.0增加了EL表达式(参见第16章),作为脚本元素的另一个选 择。声明脚本元素用于声明在其他脚本元素中可以使用的变量和方法,脚本段是一段Java代码,用于描述在对请求的响应中要执行的动作,表达式脚本元素是 Java语言中完整的表达式,在响应请求时被计算,计算的结果将被转换为字符串,插入到输出流中。

 

声明

<%! declaration(s) %>

XML语法格式的声明如下:

<jsp:declaration> declaration(s)</jsp:declaration>

在声明变量的时候要注意,不要忘了变量名后面的分号(;),声明只在当前的JSP页面中有效。

 

脚本段(scriptlets

<% scriptlet%>

XML语法格式的脚本段如下:

<jsp:scriptlet> scriptlet</jsp:scriptlet>

 

表达式(expressions

<%= expression%>

XML语法格式的表达式如下:

<jsp:expression> expression</jsp:expression>

注意,在书写表达式的时候,一定不要在表达式后面添加任何的标点符号

 

 

动作元素(action elements

动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性、可选的内容、 与开始标签匹配的结束标签。

 

JSP2.0规范中定义了20个标准的动作元素。

注意:include指令的file属性所给出的路径是相对于当前文件的, <jsp:include>动作的page属性所给出的路径是相对于当前页面的,要理解相对于当前文件和相对于当前页面的区别,就需要结合include指令和<jsp:include>动作对被包含资源的不同处理方式 来考虑。

当采用include指令包含资源时,相对路径的解析在转换期间发生(相对于当前文件的路径来 找到资源),资源的内容(文本或代码)在include指令的位置处被包含进来,成为一个整体,被转换为Servlet源文 件。当采用<jsp:include>动作包含资源时,相对路径的解析在请求处理期间发生(相对于当前页面的路径来找到资源),当前页面和被包含的资源是两个独立的个体,当前页面将请求发送给被包含的资源,被包含资源对请求处理的结果将作为当前页面对请求响应的一部分发送到客户端。

 

 

原创粉丝点击