1、 JSP语法
JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP文件后缀名为(*.jsp)。
一个JSP页面由元素和模板数据组成。元素是必须由JSP容器处理的部分,而模板数据是JSP容器不处理的部分。在JSP2.0规范中,元素有三种类型:指令元素、脚本元素和动作元素。
1.1 指令元素
指令元素主要用于为转换阶段提供整个JSP页面的相关信息,指令不会产生任何的输出到当前的输出流中。指令元素的语法形式如下:
<%@directive { attr=”value”}* %>
①page指令
page指令用于整个JSP页面,定义了许多与页面相关的属性,这些属性将用于和JSP容器通信。Page指令的语法如下:
<%@ page attribute="value"%>
在JSP规范中,还提供了XML语法格式的page指令,如下:
<jsp:directive.pageattribute="value" />
Page指令的常用属性如下表:
属性 |
描述 |
buffer |
指定out对象使用缓冲区的大小 |
autoFlush |
控制out对象的 缓存区 |
contentType |
指定当前JSP页面的MIME类型和字符编码 |
errorPage |
指定当JSP页面发生异常时需要转向的错误处理页面 |
isErrorPage |
指定当前页面是否可以作为另一个JSP页面的错误处理页面 |
extends |
指定servlet从哪一个类继承 |
import |
导入要使用的Java类 |
info |
定义JSP页面的描述信息 |
isThreadSafe |
指定对JSP页面的访问是否为线程安全 |
language |
定义JSP页面所用的脚本语言,默认是Java |
session |
指定JSP页面是否使用session |
isELIgnored |
指定是否执行EL表达式 |
isScriptingEnabled |
确定脚本元素能否被使用 |
② include指令
Include指令用于在JSP页面中静态包含一个文件,该文件可以是JSP页面、HTML网页、文本文件或一段Java代码。Include指令的语法如下:
<%@ include file="relativeurl" %>
XML语法格式的include指令如下:
<jsp:directive.includefile="relative url" />
③ taglib指令
Taglib指令允许页面谁用用户定制的标签。Taglib指令的语法如下:
<%@ taglib uri="uri"prefix="prefixOfTag" %>
XML语法格式的taglib指令如下:
<jsp:directive.tagliburi="uri" prefix="prefixOfTag" />
Taglib的三个属性如下:
属性 |
描述 |
Uri |
该属性唯一地标识和前缀相关的标签库描述符 |
Tagdir |
该属性指示前缀将被用于安装在/web-inf/tag/目录或其子目录下的标签文件 |
Prefix |
定义一个prefix::tagname形式的字符串前缀,用于区分多个自定义的标签。 |
1.2 脚本元素
脚本元素包括三个部分:声明、脚本段和表达式。
① declaration(声明)
声明脚本元素用于声明在JSP页面的脚本语言中使用的变量和方法。它的语法如下:
<%! Declaration(s) %>
XML语法格式的声明如下:
<jap:declaration> declaration(s)</jsp:declaration>
② scriptlet(脚本段)
脚本段是在请求处理期间要执行的Java代码段。她的语法如下:
<% scriptlet %>
XML语法格式的脚本段如下:
<jsp:scriptlet> scriptlet</jsp:scriptlet>
③ expression(表达式)
表达式脚本元素是Java语言中完整的表达式,在请求处理时计算这些表达式,计算的结果将被转换为字符串,插入到当前的输出流中。它的语法如下:
<%= expression %>
XML语法格式的表达式如下:
<jsp:expression> expression</jsp:expression>
1.3 动作元素
动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签。它的语法如下:
<jsp:action_nameattribute="value" />
常用用标准动作如下: