您现在的位置:首页 > >

JSP程序设计实训(五)??JSP基本语法(一)

发布时间:


上一篇:JSP程序设计实训(四)??CSS基本知识
下一篇:JSP程序设计实训(五)??JSP基本语法(二)



JSP基本语法
JSP基本语法的学*包括JSP页面的基本结构、JSP的脚本元素、JSP的指令和JSP的常用动作。
1. JSP页面的基本结构
一个JSP页面是通过在HTML标签的基础上嵌入JSP动作和指令、CSS、Java变量和方法(Java代码段)、其他脚本元素(如JavaScript)等组成的。实际上,JSP基本元素为了和HTML的标签进行区别,JSP标记都以"<%""开头,以"%>"">"结尾。举个例子:

<%@ page contentType="text/html; charset=UTF-8" %>


JSP页面的基本结构实例



<% !int sum = 0;
int x = 1;
%>
<%
while(x<=10){
sum += x;
++x;
}
%>

1加到10的结果是:<%= sum %>



现在的时间是:<%= new java.util.Date() %>






在上面代码示例中,第一行是JSP的 page 指令,他描述JSP文件转换成JSP服务器所能执行的 java 代码时使用的控制信息,如“contentType”用于指定内容类型,“pageEncoding”用于指定页面的编码方式。JSP中的声明以"<%!""<%"开头,以"%>"结尾。"<%= sum %>"是表达式,在JSP中表达式以"<%="开头,以"%>"结尾。
2. JSP的脚本元素
在JSP页面中,经常使用JSP的变量、方法、表达式、脚本、注释来实现一些功能,下面分别介绍这些基本元素的使用。

(1)变量和方法的声明


在JSP页面中可以声明一个或多个符合java规范的合法变量和方法,声明的变量和方法将在JSP页面使用,并将在JSP页面初始化时被初始化。JSP中声明的语法格式如:<%!语句1;语句2;...[语句n]%>需要注意的是,声明以"<%!""<%"开头,以"%>"结尾;一个声明仅在一个页面中生效;可以直接使用在<%@ page%>中被包含起来的已经声明的变量和方法,不需要对其重新声明;如果想在每个页面都使用某些声明,最好把他们写成一个独立的文件,然后用"<%@ include%>"指令或""动作包含起来。

(2)表达式


JSP允许在"<%=""%>"之间插入一个表达式,表达式由变量、常量、运算符组成。表达式可以将数据转换成一个字符串并直接在网页上输出。表达式的语法格式为:<%=表达式%>JSP的表达式没有分号。表达式常用在向页面输出内容、生成动态链接地址、动态指定 form 表单处理页面。注意,在"<%""="之间不能有空格。

(3)脚本


JSP脚本是一段Java代码,在请求期间执行,可以使用JSP页面谁定义的变量、方法、表达式或者JavaBean。脚本定义的变量和方法在当前整个页面内有效,但不会被其他线程共享,用户对该变量的作用不会影响其他用户,当变量所在页面关闭时该变量就会被销毁。

(4)注释


程序中注释的作用是提高程序的可读性、可维护性和可扩展性。在JSP中注释有3种类型:隐藏注释、Java注释和HTML注释。
4.1:隐藏注释
隐藏注释是JSP的标准注释,写在JSP程序中,用于描述和说明JSP程序代码,在发布JSP网页时完全被忽略,也不会输送到客户浏览器上,即JSP页面运行后页面上看不到注释内容,且查看源文件(在客户端上)也看不到注释内容。其语法格式为:<%-- 注释语句 --%>。举个例子:


例子

<%-- 注释内容,客户端页面与源文件不可见 --%>



4.2:Java注释


Java注释与隐藏注释相似,在发布网页时不会在页面上显示,在浏览器的源文件中也看不到注释内容。其语法格式为:<%/* 注释内容 */%><%// 注释内容 %>

4.3:HTML注释


在发布网页时可以在浏览器源文件窗口中看到HTML注释,即注释的内容会被诉讼到客户端浏览器中,但是不会在页面上显示。该类注释中也可以使用JSP表达式。其语法格式为:。注意,在源文件上看到的是表达式结果,而不是表达式本身。举个例子:







在源文件中显示为:







3. JSP的指令
指令用来描述JSP文件转换成JSP服务器所能执行的Java代码时使用的控制信息,用于指定整个JSP页面的相关信息,并设置JSP页面的相关属性。常用的JSP指令有 page 指令、 include 指令和 taglib 指令。

(1)page 指令


page 指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用域为它所在的JSP页面和其包含的文件。页面指令一般位于JSP页面的顶端,但是可以放在JSP页面的任何位置。在同一个JSP页面中可以有多个 page 指令,在使用多个 page 指令时,其属性处理 import 外只能使用一次。page 指令的语法格式如下:

<%@page
[language = "java"]
[extends = "package.class"]
[import = "{package.class|package.*},..."]
[session = "true|false"]
[buffer = "none|8KB|sizeKB"]
[autoFlush = "true|false"]
[isThreadSafe = "true|false"]
[info = "text"]
[errorPage = "relativeURL"]
[contentType = "mimeType[;charset = characterSet]"]
[pageEncoding = "pageEncoding"]
[isErrorPage = "true|false"]
%>

1.1:language 属性


language 属性用于指定JSP页面中使用的脚本语言,其默认值为Java。根据JSP 2.0规范,目前只可以使用Java语言,如果使用其他语言则会产生异常。

1.2:extends 属性


extends 属性用于指定JSP编译器父类的完整限定名,此JSP页面产生的 Servlet 将由该父类扩展而来。例如:<%@page extends = "javax.servlet.http.HttpServlet"%>。一般不建议使用该属性。JSP容器可以提供专用的高性能父类,如果指定父类,可能会限制JSP容器本身具有的能力。

1.3:import 属性


import 属性用于导入JSP页面使用的Java API类库。import 属性是所有 page 属性中唯一可以多吃设置的属性,用来指定JSP页面中所用到的类。如果需要在一个 JSP 页面中同时导入多个Java包,可以逐一说明,也可以使用逗号分隔。

1.4:session 属性


session 属性用于指定是否可以使用 session 对象,若允许页面参与HTTP会话,就设置为true,否则设为false,其默认为 true。

1.5:buffer 属性


buffer 属性用于设定页面的缓冲区大小(字节数),属性值为 none 时表示禁用缓冲区,其默认值为8KB。

1.6:autoFlush 属性


autoFlush 属性用于指定JSP页面缓冲区是否自动刷新输出,默认值为true。如果该属性值为true,则页面缓冲区满时自动刷新输出;否则,当页面缓存区满时抛出一个异常。

1.7:isThreadSafe 属性


isThreadSafe 属性用于指定JSP页面是否能够处理一个以上的请求,如果为 true,则该页面可能同时收到JSP引擎发出的多个请求;反之,JSP引擎会对收到的请求进行排队,当前页面在同一时刻只能处理一个请求。其默认值为 true。建议将该属性设置为 true,确保页面使用的所有对象都是线程安全的。

1.8:info 属性


info 属性用于指定JSP页面的相关信息文本,无默认值。

1.9:errorPage 属性


errorPage 属性用于指定错误页面。当页面出现一个未被捕获的异常时,错误信息将被 throw 语句抛出,而被设置为错误信息网页的JSP页面将利用 exception 隐含对象获取错误信息。relativeURL 默认设置为空,即没有错误处理页面。

1.10:contentType 属性


contentType 属性用于指定内容 MIME 类型和JSP页面的编码方式。对于普通JSP页面,默认的contentType 属性值为“text/html;charset=ISO-8859-1”

1.11:pageEncoding 属性


pageEncoding 属性用于指定JSP页面的编码方式,默认值为ISO-8859-1。

1.12:isErrorPage 属性


isErrorPage 属性指定JSP页面是否为处理异常错误的页面,其默认值为 false。如果将 isErrorPage 属性设置为 true,则固有的 exception 对象脚本元素可用。

(2)include 指令


include 指令用于在当前JSP页面中加载需要插入的文件代码,即为页面插入一个静态文件,如JSP页面、HTML页面、文本文件或一段Java程序,这些加载的代码和原有的JSP代码合并成一个新的JSP文件。include 指令的语法格式如下:<%@include file="文件名"%>。其中,文件名指被包含的文件,include 指令只有一个 file 属性,该属性用于指定插入的包含文件的相对路径,无默认值。在JSP中用 include 指令包含一个静态文件,同时解析这个文件中的JSP语句。使用JSP的 include 指令有助于实现JSP页面的模块化。

(3)taglib 指令


taglib 属性用来自动页面中使用的标签库以及自定义标签的前缀,taglib 指令语法格式为:<@%taglib uri="tagLibraryURI" prefix="tagPrefix"%>

3.1:uri 属性


uri(统一资源标识符)属性用于指定标记库的存放位置,并告诉JSP引擎在编译JSP程序时如何处理指定标签库中的标签,无默认值。uri 属性可以是 TLD(标记库描述符)文件或web.xml 文件中定义的标记库的符号,也可以是TLD 文件或 JAR 文件的相对路径。

3.2:prefix 属性


prefix 属性用于指定标记库中所有动作元素名中使用的前缀,无默认值。

参考书籍:马军霞、张志锋、皇安伟等编著的《JSP程序设计实训与案列教程》第二版



热文推荐
猜你喜欢
友情链接: 医学资料大全 农林牧渔 幼儿教育心得 小学教育 中学 高中 职业教育 成人教育 大学资料 求职职场 职场文档 总结汇报