JSP

JSP

java服务器页面
JSP全名为JavaServerPages,中文名叫java服务器页面,[1]其根本是一个简化的Servlet设计,它是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。它实现了Html语法中的java扩展(以形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
    网站名称: 别名: 创始人: 总部地点: 主办单位: 网站类型: 网站口号: ICP备案号: 中文名:爪哇服务器页面 英文名:Java Server Pages 缩写:JSP 本质:动态网页技术标准

语言标准

句法

一个JSP页面可以被分为以下几部份:

静态数据,如HTML

JSP指令,如include指令

JSP脚本元素和变量

JSP动作

用户自定义标签

静态数据

静态数据在输入文件中的内容和输出给HTTP响应的内容完全一致。此时,该JSP输入文件会是一个没有内嵌JAVA或动作的HTML页面。而且,客户端每次请求都会得到相同的响应内容。

JSP指令

JSP指令控制JSP编译器如何去生成servlet,以下是可用的指令:

包含指令include–包含指令通知JSP编译器把另外一个文件完全包含入当前文件中。效果就好像被包含文件的内容直接被粘贴到当前文件中一样。这个功能和C预处理器所提供的很类似。被包含文件的扩展名一般都是"jspf"(即JSPFragment,JSP碎片):

<%@includefile="somefile.jsp"%>

页面指令page–页面指令有以下几个选项:

<%@pageimport="java.util.*"%>//exampleimport导入样例<%@pagecontentType="text/html"%>//examplecontentType页面类型样例<%@pageisErrorPage=false%>//examplefornonerrorpage无错页面样例<%@pageisThreadSafe=true%>//exampleforathreadsafeJSP安全线程JSP样例

注意:在同一个JSP文件中只有"import"导入页面指令可以被多次使用。

标签库指令taglib–标签库指令描述了要使用的JSP标签库。该指令需要指定一个前缀prefix(和C++的命名空间很类似)和标签库的描述URI:

<%@taglibprefix="myprefix"uri="taglib/mytag.tld"%>

JSP脚本

标准脚本变量

以下是永远可用的脚本变量:

out–JSPWriter用来写入响应流的数据

page–servlet自身

pageContext–一个PageContext实例包括和整个页面相联系的数据,一个给定的HTML页面可以在多个JSP之间传递。

request–HTTPrequest对象

response–HTTPresponse对象

session–

脚本元素

有三个基本的脚本元素,作用是使JAVA代码可以直接插入servlet.

一种是声明标签,在JAVASERVLET的类体中放入一个变量的定义。静态的数据成员也可以如此定义。

一种是脚本标签,在JAVASERVLET的类的_jspService()方法中放入所包含的语句。

一种是表达式标签,在JAVASERVLET的类中放入待赋值的表达式,表达式注意不能以分号结尾。

JSP动作

JSP动作是一系列可以调用内建于网络服务器中的功能的XML标签。JSP提供了以下动作:

技术方法

为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。

1.将内容的生成和显示进行分离

用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。

在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

可重用组件

绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者EnterpriseJavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

采用标识

Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

适应平台

几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

数据库连接

Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBCbridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MSSQLServer和MSAccess等数据库。

此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。

JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为JavaServlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。

语言特点

优点

(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。

(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。

缺点

(1)与ASP也一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。

(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。

语言组成

内置对象

request

request对象是javax.servlet.httpServletRequest类型的对象。该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。

response

response代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。

session

1.什么是session:从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。

2.session对象的ID:当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。

3.session对象存在一定时间过期问题,所以存在session中的名值对会在一定时间后失去,可以通过更改session有效时间来避免这种情况。同时编程时尽量避免将大量有效信息存储在session中,request是一个不错的替代对象。

application

1.什么是application:

服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。

2.application对象常用方法:

(1)publicvoidsetAttribute(Stringkey,Objectobj):将参数Object指定的对象obj添加到application对象中,并为添加的对象指定一个索引关键字。

(2)publicObjectgetAttribute(Stringkey):获取application对象中含有关键字的对象。

out

out对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用out对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

page

page对象代表JSP本身,只有在JSP页面内才是合法的。page隐含对象本质上包含当前Servlet接口引用的变量,类似于Java编程中的this指针。

config

config对象的主要作用是取得服务器的配置信息。通过pageContext对象的getServletConfig()方法可以获取一个config对象。当一个Servlet初始化时,容器把某些信息通过config对象传递给这个Servlet。开发者可以在web.xml文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。

exception

java.lang.Throwable的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page的isErrorPage属性为true时,该对象才可以使用。常用的方法有getMessage()和printStackTrace()等。

pageContext

pageContext对象的作用是取得任何范围的参数,通过它可以获取JSP页面的out、request、reponse、session、application等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用pageContext对象。

开发入门

JSP开发入门2

安装好你的机器来使用JSP

你将会需要Java2软件开发工具(JSDK),它原来的名称是Java开发工具(JDK)以及JavaServer网站开发工具(JSWDK),Tomcat,或是其它支持JSP的网络服务器。Sun免费提供JSDK与JSWDK来供Windows,Solaris,以及Linux平台使用。

如果你想要在你的网络服务器上使用JSP,但服务器本身并不支持JSP与Javaservlets,你可以试试看Allaire的Jrun,它的作用就像是针对Netscape企业版与FastTrack服务器、微软的网际网络信息服务器(IIS)与个人网络服务器(PWS)、Apache、以及其它服务器的网络服务器附加设备。你也可以使用Apache网络服务器的Java版本,最新的JSWDK里有提供。

下载与安装你需要的组件

发布的1.2.2-001,JSDK可下载的版本是以可安装的压缩形式。下载的文件大约是20MB,可提供完整的Java发展环境,让你能建立利用标准API为核心的Java解决之道。然而,你的网络服务器需要应用到JSP的唯一一件事是Java编译器。要让网络服务器知道编译器的位置,将环境变量JAVA.HOME设到JSDK的安装目录。如果你是在Windows上安装并且接受预设目录,将这行程序代码setJAVA.HOME=C:1.2.2加到你的autoexec.bat档案并且重新开机。

在安装好JSDK之后,下载并且安装JSWDK或beta版的Tomcat,以Java为主的Apache网络服务器。安装在哪里并不重要,重要的是你可以找到它。一般而言,它会放在上层目录,这种方式可以让你取代JSWDK或JSDK的网络服务器,不需要移动其它的网络服务器。在你安装好这个档案之后,你就可以准备发展JSP了。

在你正确的安装JSWDK之后,执行startserver指令文件来激活网络服务器,预设通讯端口为8080。要看你在激活服务器之后是均C有正确的安装工具,你可以加载范例JSP档案中的任何一个(http://localhost:8080/examples/jsp/)。如果你能够成功的执行一个范例档案,你可以知道你已经正确的设定好软件了。如果你在激活服务器的控制台窗口看到错误讯息,那么你需要解决这个问题。最常发生的问题是没有设定(或者不正确设定)环境变量JAVA.HOME。要检视环境设定,在DOS模式下键入set。

开始

解释JSP语法之前,先建立一个显示日期与时间的简单网页并且将它储存成sample.jsp:

将这个档案与你所有的HTML与JSP网页放在你JSWDK安装目录下的网页目录里.你可以在http://localhost:8080/sample.jsp下载此页.当你第一次参观这个网页时,网站服务器会将JSP翻译成Javaservlet程序代码,那你就会看到的日期与时间.。

你已经下载,安装,并且架构好发展环境,你已经准备好要了解JSP语法与建立你自己的JSP为主的解决之道。

JSP开发入门3

JSP语法的基本原理

安装之后,接下来我们要讨论JSP的语法.如果要偷懒,你可以下载语法卡而如果你不熟悉Java的程序设计,你可能会想要参考Sun的使用手册;然而,网站建立者不应该做太多的Java发展。除了几个函数调用之外,出现在你JSP网页上的Java程序代码应该将它减到最少;

记住这点之后,让我们先来看看JSP的编译器指引与指令组件,之后我们将解释JavaBeans与内部对象.JSP编译器指引与指令组件有五种型态.JSP1.0之后,大部分的JSP是包含在以<%作为开始%>作为结束的单一卷标里.新的JSP1.1规格已经发表了,它同时也与XML兼容.

JSP的编译器指引与指令组件

编译器指示<%@编译器指示%>

声明<%!声明%>

表达式<%=表达式%>

程序代码段/小型指令<%程序代码片段%>

注释<%--注释--%>

编译器指示

JSP的编译器指示是针对JSP引擎。它们并不会直接产生任何看得见的输出;相反的,它们是在告诉引擎如何处理其它的JSP网页。它们永远包含在<%@?%>卷标里。两个主要的指引是page与include。我们不会讨论taglib编译器指引但它可以在JSP1.1里用来建立自订卷标。

你几乎可以在你所有的JSP网页最上面找到page编译器指示。虽然这不是必须的,但它可以让你指定到哪里可以找到支持的Java类别这类的事:

<%@pageimport="java.util.Date"%>,

当发生Java问题的事件时应该将讯息传送到哪里:

<%@pageerrorPage="errorPage.jsp"%>,

以及你是?需要为使用者管理通话期的信息,可能存取多个网页(稍后在JavaBeans里会有更多通话期的讨论):

<%@pagesession="true"%>。

include编译器指示让你将你的内容分成几个可管理的组件,就像那些有表头或脚注的网页。所包含的网页可以是固定格式的HTML网页或者是JSP内容的网页:

<%@includefile="filename.jsp"%>。

宣告

JSP声明让你定义网页层的变量,来储存信息或定义支持的函式,让JSP网页的其余部分能够使用。如果你发现自己有太多的程序代码,你最好将它们放在不同的Java类别里。你可以在<%!?%>卷标里找到声明。记住要在变量声明的后面加上分号,就跟任何有效的Java叙述的形式一样:<%!inti=0;%>。

表达式

JSP里有表达式,评估表达式的结果可以转换成字符串并且直接使用在输出网页上。JSP运算是属于<%=?%>卷标里,并不包含分号,加引号字符串的无用部分。

<%=i%>

<%="Hello"%>。

程序代码段/小型指令文件

JSP程序代码片段或小型指令文件是包含在<%?%>卷标里。当网络服务器接受这段请求时,这段Java程序代码会执行。小型指令文件可以是原始的HTML或XML,其内部的程序代码片段可以让你建立有条件的执行程序代码,或者只是一些使用另一块程序代码的东西。举例来说,下列的程序代码结合了表达式与小型指令文件,在H1,H2,H3,以及H4卷标里显示字符串"Hello"。小型指令文件不限于一行的原始程序代码:

<%for(inti=1;i<=4;i++){%>

<%=i%>>Hello<%=i%>>

<%}%>。

注释

最后一个主要JSP组件是嵌入式注释。虽然你可以在你的档案里包含HTML注释,如果使用者检视网页的原始码,他们也会看到这些注释。如果你不要让使用者看到你的批注,你可以将它放在<%--?--%>卷标里:

<%--针对服务器端的注释--%>。

JSP开发入门4

JSP与JavaBean

虽然你可以在小型指令文件里放入一大块的程序代码,但是大多数的Java程序代码是属于可以重复使用的组件,称为JavaBean。JavaBean就跟ActiveX控件一样:它们提供已知的功能,并且是为了可随时重复使用的目的而设计的。

JavaBean的价值在于它可以经由一组特性来使用,而这些特性则提供对JavaBean设定的存取。以人来作范例,此人就是JavaBean,而他的姓名,社会福利安全号码,以及住址可以是特性。对于JSP网站,基本上你是将'JavaBean'动态的连接到你的网站。

假设JavaBean是在建立网站之前建好的,你要做的第一件事是告诉JSP网页它所需要使用JavaBean.这工作可以用卷标来完成:.

卷标需要你以id属性来辨识JavaBean.在这里,你提供一个名称让JSP网页来辨识JavaBean,除了id属性之外,你也必须告诉网页要到哪里去找这个JavaBean,或者是它的Java类别名称。类别属性提供如何在各式方法之中找到它,最后一个需要的组件是scope属性.有了范围属性的帮助,你可以告诉JavaBean,要它为单一网页(预设)[scope="page"];为一个被请求的网页[scope="request"];为通话期[scope="session"];或为整个应用程序[scope="application"]来维护它自己的信息.对于通话期范围,你可以很容易的维护JSP网页里的项目,例如购物车。

一旦你宣告了JavaBean之后,你就可以存取它的特性来订定它。要取得一特性的值,使用卷标。有了卷标,你可以指定要使用的JavaBean名称(从useBean的id字段),以及你要取得值的特性。接着,真正的值就会放在输出里:.

要更改JavaBean的特性,你需要使用卷标.对这个卷标,你也需要辨认JavaBean以及要修正的特性,除此之外,你还需要提供新值.如果命名正确,这些可以直接经由规定的格式取得:;

要从一参数取得,你必须直接命名此特性以及参数:;

或是直接以名称与值来设定:or"value=<%=expression%>/>.

有关JavaBean的最后一点:要让网络服务器可以找到JavaBean,你需要将它们的类别档案放在特别位置。对JSWDK而言,最简单的地方是在安装目录里的类别目录,例如jswdk-1.0.1classes.

JSP开发入门5

JSP的内部对象

最后一个与JSP语法有关的组件叫做内部对象.在JSP小型指令文件内,你可以存取这些内部对象来与执行JSP网页的servlet环境相互作用。许多对内部对象的存取应该要简化。然而,这些是范例,它们的存取都是可接受的,要完整的利用内部对象设定则需要对最新的JavaServletAPI有所了解。

下表列出你可以使用的内部对象。

内部对象说明

request客户端请求,此请求会包含来自GET/POST请求的参数

response网页传回客户端的响应

pageContext网页的属性是在这里管理

session与请求有关的会话

applicationservlet正在执行的内容

out用来传送响应的输出流

config代码片段配置对象

pageJSP网页本身

exception针对错误网页,未捕捉的例外

那么,这些是做什么的,而你应该如何使用它们呢?基本上,在你的小型指令文件里,你可以使用它们来存取执行JSP程序代码的servlet。为了避免谈论到太多ServletAPI的细节,让我们来检视一些你可以利用它们来做的事:

不必使用表达式,你可以直接存取内部out对象来打印一些东西到response:

<%out.println("Hello");%>.

不必直接传送参数到JavaBean,你可以借由请求对象来取得参数的值:

<%Stringname=request.getParameter("name");out.println(name);%>。

当你以JSP写了许多的应用程序之后,如果你建立了JavaBeans或者发现你自己将太多的Java原始码放入你的JSP档案,你需要建立支持的Java类别,这样可以鼓励重复使用并且降低JSP网页转换时所需要的时间。当你需要建立Java类别时,你必须:

将JDSWK的安装目录in目录加到你的PATH。在你的autoexec.bat档案的PATH行的最后,加入C:1.2.2in;。

以下面的指令将JAR档案复制到jrelibext目录:

copyc:jswdk-1.0.1libservlet.jarc:jdk1.2.2jrelibext.

常见问题

1、如何显示目录列表:

我们在本机测试程序时,一般都习惯在浏览器中就能遍历到某个目录下都有哪些文件,这就需要web服务器支持目录列表:

打开文件conf/web.xml,找到以下代码:

将其中的false改成true

2、配置error-page:(指定处理错误的页面)

打开文件D:demoWEB-INFweb.xml:

在…中间加入:

(错误代码为404的错误导向到NotFound.jsp)

(当系统发生500错误即服务器内部错误时,跳转到错误处理页面error.jsp)

(当系统发生java.lang.NullException(即空指针异常)时,跳转到错误处理页面error.jsp)

提醒:

以上页面都需要做大一点(>=2kB),否则不起作用。

原因:tomcat把这样的页面字节限制在不少于多少字节。

3、jsp页面出现乱码如何解决?

在页头加上:

4、jsp中两种包含页面的方式?

第一种:动作标签;例如:

第二种:指令标签;例如:

JSP标准标签库

根据JSTL标签所提供的功能,可以将其分为5个类别。

核心标签

格式化标签

SQL标签

XML标签

JSTL函数

JSTL库安装

ApacheTomcat安装JSTL库步骤如下:

从Apache的标准标签库中下载的二进包(jakarta-taglibs-standard-current.zip)。下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

下载jakarta-taglibs-standard-1.1.1.zip包并解压,将jakarta-taglibs-standard-1.1.1/lib/下的两个jar文件:standard.jar和jstl.jar文件拷贝到/WEB-INF/lib/下。

使用任何库,你必须在每个JSP文件中的头部包含标签。

核心标签

核心标签是最常用的JSTL标签。引用核心标签库的语法如下:

<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>

标签

描述

用于在JSP中显示数据,就像<%=...>

用于保存数据

用于删除数据

用来处理产生错误的异常状况,并且将错误信息储存起来

与我们在一般程序中用的if一样

本身只当做和的父标签

的子标签,用来判断条件是否成立

的子标签,接在标签后,当标签判断为false时被执行

检索一个绝对或相对URL,然后将其内容暴露给页面

基础迭代标签,接受多种集合类型

根据指定的分隔符来分隔内容并迭代输出

用来给包含或重定向的页面传递参数

重定向至一个新的URL.

使用可选的查询参数来创造一个URL

格式化标签

JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:

<%@taglibprefix="fmt"uri="http://java.sun.com/jsp/jstl/fmt"%>

标签

描述

使用指定的格式或精度格式化数字

解析一个代表着数字,货币或百分比的字符串

使用指定的风格或模式格式化日期和时间

解析一个代表着日期或时间的字符串

绑定资源

指定地区

绑定资源

指定时区

指定时区

显示资源配置文件信息

设置request的字符编码

SQL标签

JSTLSQL标签库提供了与关系型数据库(Oracle,MySQL,SQLServer等等)进行交互的标签。引用SQL标签库的语法如下:

<%@taglibprefix="sql"uri="http://java.sun.com/jsp/jstl/sql"%>

标签

描述

指定数据源

运行SQL查询语句

运行SQL更新语句

将SQL语句中的参数设为指定值

将SQL语句中的日期参数设为指定的java.util.Date对象值

在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行

XML标签

JSTLXML标签库提供了创建和操作XML文档的标签。引用XML标签库的语法如下:

<%@taglibprefix="x"uri="http://java.sun.com/jsp/jstl/xml"%>

在使用xml标签前,你必须将XML和XPath的相关包拷贝至你的lib下:

XercesImpl.jar:

标签

描述

与<%=...>,类似,不过只用于XPath表达式

解析XML数据

设置XPath表达式

判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体

迭代XML文档中的节点

和的父标签

的子标签,用来进行条件判断

的子标签,当判断为false时被执行

将XSL转换应用在XML文档中

与共同使用,用于设置XSL样式表

JSTL函数

JSTL包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:

<%@taglibprefix="fn"uri="http://java.sun.com/jsp/jstl/functions"%>

函数

描述

fn:contains()

测试输入的字符串是否包含指定的子串

fn:containsIgnoreCase()

测试输入的字符串是否包含指定的子串,大小写不敏感

fn:endsWith()

测试输入的字符串是否以指定的后缀结尾

fn:escapeXml()

跳过可以作为XML标记的字符

fn:indexOf()

返回指定字符串在输入字符串中出现的位置

fn:join()

将数组中的元素合成一个字符串然后输出

fn:length()

返回字符串长度

fn:replace()

将输入字符串中指定的位置替换为指定的字符串然后返回

fn:split()

将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回

fn:startsWith()

测试输入字符串是否以指定的前缀开始

fn:substring()

返回字符串的子集

fn:substringAfter()

返回字符串在指定子串之后的子集

fn:substringBefore()

返回字符串在指定子串之前的子集

fn:toLowerCase()

将字符串中的字符转为小写

fn:toUpperCase()

将字符串中的字符转为大写

fn:trim()

移除首位的空白符

相关词条

相关搜索

其它词条