1 / 21

JSP 页面的组成

JSP 页面的组成. JSP 页面包括 JSP 元素、注释及 HTML 元素。 JSP 指令:用于将消息传送到 JSP 引擎。 JSP 动作:使用 XML 语法格式的标记来控制 JSP 引擎的各种行为。 JSP 脚本:插入 Java 语言程序代码 。 模板数据 html 表现的静态数据, jsp 不做任何处理。. JSP 页面的组成. JSP 指令 JSP 指令是为 JSP 引擎而设计的。该指令并不直接产生任何可见输出,而只是告诉引擎如何处理其余 JSP 页面。这些指令始终被括在“ <%@ ...%>” 标记中。

raoul
Télécharger la présentation

JSP 页面的组成

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JSP页面的组成 JSP页面包括JSP元素、注释及HTML元素。 JSP指令:用于将消息传送到JSP引擎。 JSP动作:使用XML语法格式的标记来控制JSP引擎的各种行为。 JSP脚本:插入Java语言程序代码。 模板数据html表现的静态数据,jsp不做任何处理。

  2. JSP页面的组成

  3. JSP指令 JSP指令是为JSP引擎而设计的。该指令并不直接产生任何可见输出,而只是告诉引擎如何处理其余JSP页面。这些指令始终被括在“<%@ ...%>”标记中。 jsp有3条指令page,taglib,include。两个最重要的指令是page和include。另外,taglib指令很少使用,在用JSP1.1创建自定义标记时可以使用它。

  4. 几乎在所有的JSP页面顶部都会看到page指令。尽管不是必需的,但page指令可以让你指定:几乎在所有的JSP页面顶部都会看到page指令。尽管不是必需的,但page指令可以让你指定: (1) 到何处查找起支持作用的Java类别: <%@ page import="java.util.Date" %> (2) 出现Java运行问题时,通过errorPage将用户引向何处: <%@ page errorPage="errorPage.jsp" %>

  5. 1.include指令 include指令用于把其它的文本文件或JSP文件加入到当前的JSP文件中,同时解析这个文件中的JSP语句。 include指令可以把你的内容分成更多可管理的元素。包含的网页可以是一个固定的HTML 页面或更多的JSP内容,形式如: <%@ include file="filename.jsp" %> 采用include指令,可以实现JSP页面的模块化,使JSP的开发和维护变得非常简单。

  6. <%@include %>指令将会在JSP编译时插入一个包含文本或代码的文件,当你使用<%@ include %>指令时,这个包含的过程相当于静态的。静态的包含就是指这个被包含的文件将会被插入到JSP文件中去。这个包含的文件可以是JSP文件、HTML文件或文本文件。如果包含的是JSP文件,则这个包含的JSP文件中的代码将会被执行。   注意,在包含文件中不能使用<html>、</html>、<body>、</body>标记,因为这将会影响在原JSP文件中同样的标记,有时还会导致错误。   如果这个包含文件被改变,则包含此文件的JSP文件将被重新编译。

  7. 属性:   ★ file="relativeURL":包含文件的路径名一般来说是指相对路径,不需要什么端口、协议和域名,如 "error.jsp"、"templates/onlinestore.html"、"/beans/calendar.jsp"   如果路径以“/”开头,那么这个路径主要是参照JSP应用的上下关系路径;如果路径是以文件名或目录名开头的,那么这个路径就是正在使用的JSP文件的当前路径。

  8. 例子:include指令(include.jsp) • <html> • <head><title>An Include Test</title></head> • <body bgcolor="white"> • <font color="blue"> • The current date and time are • <%@ include file="date.jsp" %> • </font> • </body> • </html> • 被包含文件date.jsp: • <%@ page import="java.util.* " %> • <%= (new java.util.Date() ).toLocaleString() %>

  9. 2.page指令 功能:定义JSP文件中的全局属性。 JSP 语法: <%@ page [ language="java" ] [ extends="package.class" ] [ import="{package.class | package.*}, ..." ] [ session="true | false" ] [ buffer="none | 8KB | sizekb" ] [ autoFlush="true | false" ] [ info="text" ] [ errorPage="relativeURL" ]

  10. [ contentType="mimeType [ ;charset=characterSet ]" | "text/html; charset=ISO-8859-1" ] • [ isErrorPage="true | false" ] • 例: • <%@ page import="java.util.*, java.lang.* " %> • <%@ page buffer="5KB" autoFlush="false" %> • <%@ page errorPage="error.jsp" %>

  11.  相关描述:<%@ page %>指令作用于整个JSP页面,从容器的角度看,每个jsp页面都是一个独立的翻译单元,同一个应用的jsp页面用其自己的page指令指定其翻译时的特性。 可以在一个页面中用多个<% @ page %>指令,但是其中的属性只能用一次。不过也有个例外,那就是import属性。因为import属性和Java中的import语句差不多(参照Java Language),所以就可以多用此属性几次。 无论把<% @ page %>指令放在JSP文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性以及好的编程习惯,最好还是把它放在JSP文件的顶部。

  12. 属性:   ★ language="java":声明脚本语言的种类,暂时只能用“java”。   ★ extends="package.class":标明JSP编译时需要加入Java Class的全名,但是得慎重地使用它,它会限制JSP的编译能力。   ★ import="{package.class | package.* }, ...":指明需要导入的Java包的列表,这些包就作用于程序段、表达式以及声明。

  13. 下面的包在JSP编译时已经导入了,所以不需要再指明:下面的包在JSP编译时已经导入了,所以不需要再指明: • java.lang.* • javax.servlet.* • javax.servlet.jsp.* • javax.servlet.http •   ★ session="true | false":设定客户是否需要HTTP session。如果设定为true,那么session是有用的。 如果设定为false,那么就不能使用session对象,以及定义了scope=session的<jsp:useBean>元素,这样使用会导致错误。缺省值是true。

  14.  ★ buffer="none | 8KB | sizekb":buffer的大小被out对象用于处理执行后的JSP对客户浏览器的输出。缺省值是8 KB。   ★ autoFlush="true | false":设置如果buffer溢出,是否需要强制输出。如果其值被定义为true(缺省值),输出正常,如果它被设置为false,并且这个buffer溢出,就会导致一个意外错误的发生。如果把buffer设置为none,那么就不能把autoFlush设置为false。   ★ isThreadSafe="true | false":设置JSP文件是否能多线程使用。缺省值是true,也就是说,JSP能够同时处理多个用户的请求。如果设置为false,则一个JSP文件一次只能处理一个请求。

  15.   ★ info="text":一个文本在执行JSP时将会被逐字加入JSP中,能够使用Servlet.GetServletInfo方法取回。   ★ errorPage="relativeURL":设置处理异常事件的JSP文件。当页面出现一个设有捕获的异常时,指向另一个JSP页面的URL。   ★ contentType="mimeType [ ;charset=characterSet ]" | "text/html;charset=ISO-8859-1":设置MIME类型。缺省MIME类型是text/html, 缺省字符集为ISO-8859-1。   ★ isErrorPage="true | false":设置此页是否为出错页。如果被设置为true,则能使用exception对象。

  16. 3.taglib指令   功能:定义一个标签库及其自定义标签的前缀。 JSP 语法: <%@ tagliburi="URIToTagLibrary" prefix="tagPrefix" %> uri:英文全称为Uniform Resource Identifier,其功能是根据标签的前缀对自定义的标签进行惟一的命名。

  17. 例: • <%@ tagliburi="http://www.jspcentral.com/tags" prefix="c" %> • <c:loop> • . • . • </c:loop> • 使用jstl • Jstl(jsp标准标记库)是一组专门设计的标准标记,用于在jsp中完成一些最常见的编程任务。包括:条件、循环、数据输出、国际化以及xml文档和数据库的使用,最新版本: • http://jakarta.apache.org//taglibs/doc/standard-doc/intro.html

  18.   相关描述:   ★ <% @ taglib %>指令声明此JSP文件使用了自定义的标签,同时引用标签库,还指定了它们的标签的前缀。   ★ 自定义的标签含有标签和元素之分。因为JSP文件能够转化为XML,所以了解标签和元素之间的联系很重要。   ★ 标签只不过是一个在意义上被抬高了的标记,是JSP元素的一部分。   ★ JSP元素是JSP语法的一部分,和XML一样有开始标记和结束标记。元素也可以包含其它的文本、标记、元素。 例子

  19. Jsp动作:操作指令 • JSP编译指令是让JSP容器自动采取的动作,但对于Web开发人员,有些时候想要自己控制JSP页面的运行,这时可以采用JSP中的操作指令。 • 操作指令包括: • jsp:include指令、jsp:forward指令、jsp:param指令、jsp:useBean指令、jsp:setProperty指令和jsp:getProperty指令等。

  20. jsp:include指令 • jsp:include标准动作用于在当前的JSP页面中加入静态和动态的资源。 • 语法格式为: • <jsp:include page=“test.htm”/> • jsp:include指令必须以“/”结束,功能和include指令相同。

  21. jsp:forward指令 • jsp:forward操作指令用于把当前的JSP页面转发到另一个页面上。 • 基本语法为: • “<jsp:forward page=”test2.jsp“/>”, • 使用该功能时,浏览器的地址栏中地址不会发生任何变化。

More Related