




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章JSP语法
前面我们已经介绍了JSP页面的开发环境配置,同时学习了HTML语言、JAVASCRIPT语言和JAVA语言。从这章开始我们将学习JSP页面制作的知识。4.1JSP页面的构成
一个JSP页面主要由注释、指令、脚本元素、动作元素等内容构成,注释可以分为HTML注释和JSP注释,指令主要包括page、include和taglib三种指令。脚本元素有声明、表达式和Scriptlet三种。下面我们看个简单的例子一起来分析一下它的结构。<ch4\example.jsp>
下面我们来给大家一一介绍注释、指令和动作元素。第4章JSP语法前面我们已经介绍了JSP页面14.2注释HTML注释隐藏注释Java注释
HTML注释在发布网页时可以在浏览器源文件窗口中可以看到,并且在这种注释中可以使用JSP的表达式,其语法格式为:<!--comment[<%=expression%>]-->,其中comment可以是文字说明,expression为JSP表达式。也就是我们书中所说的动态注释。
4.2.1HTML注释
当然对于HTML注释也可以不使用JSP表达式,这和我们平常所见的注释是一致的。4.2注释HTML注释HTML注释在发布网页时可以在浏览24.2.2JSP隐藏注释和JAVA注释隐藏注释也是JSP的标准注释,写在JSP程序中,在发布网页时完全被忽略,不发给客户,当希望隐藏JSP程序的注释时是很有用的。其语法格式为:<%--comment--%>,comment为想要添加的文本注释。在JSP程序中,也可以遵循Java语言本身的注释规则对代码进行注释,这样的注释和隐藏注释相似,在发布网页被完全忽略,在浏览器的源文件窗口中看不到这种注释。其语法格式为:<%/*comment*/%>,comment为要添加的注释文本。
4.2.2JSP隐藏注释和JAVA注释隐藏注释也是JSP的34.3指令(Directive)在JSP中,指令主要用来和JSP引擎进行沟通,需要注意的是,指令元素在JSP整个页面范围内有效,并且它不在客户端产生任何输出。使用指令的格式如下:<%directivenameattribute=“value”%>当然对于一个指令可以声明多个属性。JSP语法规范了以下3种不同的指令。Page指令:定义与JSP页面相关的属性。include指令:定义JSP编译时需要插入的资源。taglib指令:定义JSP页面可以调用的标记库。下面我们来具体看看这3种指令。4.3指令(Directive)在JSP中,指44.3.1page指令Page指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用域为它所在的JSP文件页面和其包含的文件,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]"|"text/html;charset=ISO-8859-1"][isErrorPage="true|false"]%>
书上105页给出了大家详细的解释,我们一起看看。4.3.1page指令Page指令用来定义JSP文件中5对于page指令大家应该注意以下的细节:可以在一个页面中用上多个“<%@page%>”指令,但是其中的属性只能用一次,不过也有例外,那就是import属性。因为import属性和Java中的import语句类似(参照JavaLanguage,import语句引入得是Java语言中的类),所以此属性就能多用几次。无论把“<%@page%>”指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,以及好的编程习惯,最好还是把它放在JSP文件的顶部。对于刚才的讲述,我们可以参考书上106页的例子一起来复习一下。对于page指令大家应该注意以下的细节:可以在一个页面中用上64.3.2include指令
include指令是用来JSP文件被编译时所需要插入的资源,这个资源可以是文本、代码、html文件和JSP文件。JSP语法格式如下:<%@includefile="relativeURL"%>对于它我们可以参考书中108页的例子来理解。运行结果在<ch4\include.jsp>4.3.2include指令include指令74.3.3taglib指令taglib指令用来让页面使用者自定义标签。其语法格式为:<%@tagliburi="tagLibraryURI"prefix="tagPrefix"%>其中,属性uri(UniformResourceIdentifier,统一资源标识符)用来唯一的确定标签库的路径,并告诉JSP引擎在编译JSP程序时如何处理指定标签库中的标签,属性prefix定义了一个指示使用此标签库的前缀。
prefix="tagPrefix"在自定义标签之前的前缀,比如,在<public:loop>中的public,如果这里不写public,那么这就是不合法的。请不要用jsp,jspx,java,javax,servlet,sun,和sunw做为你的前缀,这些已被Sun公司声明保留。下面我们来看个具体的程序,来很好的理解taglib指令。4.3.3taglib指令taglib指令用来让页面使用者8<%@tagliburi="/tags"prefix="public"%><html> <head> <title>test</title> </head> <body> <public:loop> <%--执行代码--%> </public:loop> </body></html>Tablib指令程序示例<%@tagliburi="http://www.jsp94.4脚本元素(ScriptingElements)
脚本元素是在JSP中使用最频繁的元素,它是用Java写的脚本代码。所有的脚本元素都是以“<%”标记开始,然后以“%>”标记结束,它可以分为声明、表达式和Scriptlet等3类。下面我们来分别进行介绍。4.4.1声明(Declaration)JSP中的声明可以用来定义一个或多个合法的变量(包括普通变量和类变量)和方法,并不输出任何的文本到输出流去。在声明元素中声明的变量和方法将在JSP页面初始化时被初始化。JSP声明的语法格式为:<%!declaration;[declaration;]...%>,其中declaration为声明的变量、方法的名称和内容。在声明变量变量和方法时,需要注意以下几点:声明必须以";"结尾。一个声明仅在一个页面中有效。如果想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用<%@include%>或<jsp:include>元素包含进来。4.4脚本元素(ScriptingElements)10<%@pagelanguage=”java”import=”java.util.*”%><html><head><title>test2.4.jsp</title></head><body><%!inti=0;%><%!inta,b,c;%><%!Datedate;%></body></html>声明举例<%@pagelanguage=”java”impor114.4.2表达式(Expression)JSP中表达式可以将某个计算结果转换成一个字符串并且直接使用在输出网页上。包含一个符合JSP语法的表达式的语法格式为:<%=expression%>。JSP的表达式中没有分号。一般表达式在执行的时候,会被自动转换为字符串,然后显示在JSP页面中。<%=1+2+3%>上述表达式计算出来的值为6。4.4.3ScriptletJSP语法格式如下:<%代码%>对于它的解释我们可以参考书上110页4.4.2表达式(Expression)JSP中表达式可124.5动作元素
大多数的JSP处理都是通过JSP中的动作元素来完成的。JSP动作元素是利用XML语法写成的。在JSP2.0中定义了20种标准的动作元素,它们都是以“jsp”为前缀。<jsp:param><jsp:include><jsp:useBean><jsp:setProperty><jsp:getProperty><jsp:forward><jsp:plugin>
下面我们来给大家逐一介绍一些重要的动作的元素4.5动作元素大多数的JSP处理都是通过JSP134.5.1<jsp:param>
它主要提供一些名称和值,通常和<jsp:include>,<jsp:forword>,<jsp:plugin>一起使用,如果这个操作独立于以上的操作,将没有任何作用。格式:<jsp:paramname="parameterName"value="parameterValue/>“<jsp:param>”用来传递一个或多个参数,能在一个页面中使用多个“<jsp:param>”来传递多个参数,4.5.2<jsp:include><jsp:include>动作用来把指定文件插入正在生成的页面。其语法如下:<jsp:includepage=“relativeURL”flush=“true”/>flush:默认是false,如果该值为true表示当缓冲区满的时候,缓冲区将被清空。一般这个值要设为true。
4.5.1<jsp:param>它主要提供一些14<jsp:include>动作允许包含静态文件和动态文件,这两种包含文件的结果是不同的。如果文件仅是静态文件,那么这种包含仅仅是把包含文件的内容加到jsp文件中去,这个文件不会被JSP编译器执行;如果这个文件动态的,那么这个被包含文件也会被JSP编译器执行。<html> <head> <title>peixun.2.10.jsp</title> </head> <body> <jsp:includepage="peixun2.10.1.jsp"flush="true"> <jsp:paramname="User"value="HiFiKing"/> </jsp:include> </body></html><jsp:include>举例<jsp:include>动作允许包含静态文件和动态文件,这154.5.3<jsp:forword><jsp:forward>用于引导客户端的请求到另一个页面或者是另一个Servlet去。其语法格式为:<jsp:forwardpage={"relativeURL"|"<%=expression%>"}/><jsp:forward>动作可以包含一个或几个<jsp:param>子动作,用于向要引导进入的页面传递参数。“<jsp:forward>”标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象。“<jsp:forward>”标签以后的代码,将不能执行。我们可以参考书上112页的例子来说明这个问题。4.5.3<jsp:forword><jsp:forwar164.5.3<jsp:plugin>
它主要用来在客户端的浏览器中显示一个对象,通常为Applet或者Bean。至于它里面的一些格式和参数我们可以参考书中113页来理解。<%@pagecontentType="text/html;charset=GB2312"language=“java”%><HTML><BODY><jsp:plugintype="applet"code="B.class"jreversion="1.2"width="200"height="260"><jsp:fallback>PlugintagOBJECTorEMBEDnotsupportedbybrowser.</jsp:fallback></jsp:plugin></body></html>4.5.3<jsp:plugin>它主要用来在客户174.6错误处理在JSP页面处理中,下面两个阶段会发生错误。编译阶段:该阶段将JSP源文件编译为Servlet文件处理客户请求阶段:Servlet类文件在该阶段处理每个客户的请求。4.6.1编译阶段的错误处理我们首先来看一下书中115页编译阶段的错误处理。要避免编译错误,我们在正确安装、配置好JSP容器之后,检查JSP程序是否存在语法错误。4.6.2处理客户请求阶段的错误处理它一般指的是JSP编译成功以后,当用户请求时出现的错误,它一般不是语法错误,而是逻辑上的错误,比方说获取的参数类型不一致。可以参考书中116页的例来说明。4.6错误处理在JSP页面处理中,下面两个阶段会发生错误。18类型转换:字符串转换为int、double、float、long
eg1:inti=Integer.parseInt(“123”)
inti=Integer.valueOf(“123”).intValue()说明:上例是将一个字符串转化成一个Integer对象,然后再调用这个对象的intValue()方法返回其对应的int数值。
eg2:floatf=Float.valueOf(“123”).floatValue()
说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatvalue()方法返回其对应的float数值。
eg3:doubled=Double.valueOf(“123”).doubleValue()
说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。
eg4:longl=Long.valueOf(“123”).longValue()
说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longvalue()方法返回其对应的long数值。
类型转换:192.int、double、float、long转化为字符串inti1=10;floatf1=3.14f;doubled1=3.1415926;longlon1=5;IntegerI1=newInteger(i1);//生成Integer类FloatF1=newFloat(f1);//生成Float类DoubleD1=newDouble(d1);//生成Double类LongLon1=newLong(lon1);//生成Long类Stringsi1=I1.toString();Stringsf1=F1.toString();Stringsd1=D1.toString();Stringslon1=Lon1.toString();out.println("si1"+si1);out.println("sf1"+sf1);out.println("sd1"+sd1);out.println(“lon1"+lon1);2.int、double、float、long转化20第4章JSP语法
前面我们已经介绍了JSP页面的开发环境配置,同时学习了HTML语言、JAVASCRIPT语言和JAVA语言。从这章开始我们将学习JSP页面制作的知识。4.1JSP页面的构成
一个JSP页面主要由注释、指令、脚本元素、动作元素等内容构成,注释可以分为HTML注释和JSP注释,指令主要包括page、include和taglib三种指令。脚本元素有声明、表达式和Scriptlet三种。下面我们看个简单的例子一起来分析一下它的结构。<ch4\example.jsp>
下面我们来给大家一一介绍注释、指令和动作元素。第4章JSP语法前面我们已经介绍了JSP页面214.2注释HTML注释隐藏注释Java注释
HTML注释在发布网页时可以在浏览器源文件窗口中可以看到,并且在这种注释中可以使用JSP的表达式,其语法格式为:<!--comment[<%=expression%>]-->,其中comment可以是文字说明,expression为JSP表达式。也就是我们书中所说的动态注释。
4.2.1HTML注释
当然对于HTML注释也可以不使用JSP表达式,这和我们平常所见的注释是一致的。4.2注释HTML注释HTML注释在发布网页时可以在浏览224.2.2JSP隐藏注释和JAVA注释隐藏注释也是JSP的标准注释,写在JSP程序中,在发布网页时完全被忽略,不发给客户,当希望隐藏JSP程序的注释时是很有用的。其语法格式为:<%--comment--%>,comment为想要添加的文本注释。在JSP程序中,也可以遵循Java语言本身的注释规则对代码进行注释,这样的注释和隐藏注释相似,在发布网页被完全忽略,在浏览器的源文件窗口中看不到这种注释。其语法格式为:<%/*comment*/%>,comment为要添加的注释文本。
4.2.2JSP隐藏注释和JAVA注释隐藏注释也是JSP的234.3指令(Directive)在JSP中,指令主要用来和JSP引擎进行沟通,需要注意的是,指令元素在JSP整个页面范围内有效,并且它不在客户端产生任何输出。使用指令的格式如下:<%directivenameattribute=“value”%>当然对于一个指令可以声明多个属性。JSP语法规范了以下3种不同的指令。Page指令:定义与JSP页面相关的属性。include指令:定义JSP编译时需要插入的资源。taglib指令:定义JSP页面可以调用的标记库。下面我们来具体看看这3种指令。4.3指令(Directive)在JSP中,指244.3.1page指令Page指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用域为它所在的JSP文件页面和其包含的文件,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]"|"text/html;charset=ISO-8859-1"][isErrorPage="true|false"]%>
书上105页给出了大家详细的解释,我们一起看看。4.3.1page指令Page指令用来定义JSP文件中25对于page指令大家应该注意以下的细节:可以在一个页面中用上多个“<%@page%>”指令,但是其中的属性只能用一次,不过也有例外,那就是import属性。因为import属性和Java中的import语句类似(参照JavaLanguage,import语句引入得是Java语言中的类),所以此属性就能多用几次。无论把“<%@page%>”指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,以及好的编程习惯,最好还是把它放在JSP文件的顶部。对于刚才的讲述,我们可以参考书上106页的例子一起来复习一下。对于page指令大家应该注意以下的细节:可以在一个页面中用上264.3.2include指令
include指令是用来JSP文件被编译时所需要插入的资源,这个资源可以是文本、代码、html文件和JSP文件。JSP语法格式如下:<%@includefile="relativeURL"%>对于它我们可以参考书中108页的例子来理解。运行结果在<ch4\include.jsp>4.3.2include指令include指令274.3.3taglib指令taglib指令用来让页面使用者自定义标签。其语法格式为:<%@tagliburi="tagLibraryURI"prefix="tagPrefix"%>其中,属性uri(UniformResourceIdentifier,统一资源标识符)用来唯一的确定标签库的路径,并告诉JSP引擎在编译JSP程序时如何处理指定标签库中的标签,属性prefix定义了一个指示使用此标签库的前缀。
prefix="tagPrefix"在自定义标签之前的前缀,比如,在<public:loop>中的public,如果这里不写public,那么这就是不合法的。请不要用jsp,jspx,java,javax,servlet,sun,和sunw做为你的前缀,这些已被Sun公司声明保留。下面我们来看个具体的程序,来很好的理解taglib指令。4.3.3taglib指令taglib指令用来让页面使用者28<%@tagliburi="/tags"prefix="public"%><html> <head> <title>test</title> </head> <body> <public:loop> <%--执行代码--%> </public:loop> </body></html>Tablib指令程序示例<%@tagliburi="http://www.jsp294.4脚本元素(ScriptingElements)
脚本元素是在JSP中使用最频繁的元素,它是用Java写的脚本代码。所有的脚本元素都是以“<%”标记开始,然后以“%>”标记结束,它可以分为声明、表达式和Scriptlet等3类。下面我们来分别进行介绍。4.4.1声明(Declaration)JSP中的声明可以用来定义一个或多个合法的变量(包括普通变量和类变量)和方法,并不输出任何的文本到输出流去。在声明元素中声明的变量和方法将在JSP页面初始化时被初始化。JSP声明的语法格式为:<%!declaration;[declaration;]...%>,其中declaration为声明的变量、方法的名称和内容。在声明变量变量和方法时,需要注意以下几点:声明必须以";"结尾。一个声明仅在一个页面中有效。如果想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用<%@include%>或<jsp:include>元素包含进来。4.4脚本元素(ScriptingElements)30<%@pagelanguage=”java”import=”java.util.*”%><html><head><title>test2.4.jsp</title></head><body><%!inti=0;%><%!inta,b,c;%><%!Datedate;%></body></html>声明举例<%@pagelanguage=”java”impor314.4.2表达式(Expression)JSP中表达式可以将某个计算结果转换成一个字符串并且直接使用在输出网页上。包含一个符合JSP语法的表达式的语法格式为:<%=expression%>。JSP的表达式中没有分号。一般表达式在执行的时候,会被自动转换为字符串,然后显示在JSP页面中。<%=1+2+3%>上述表达式计算出来的值为6。4.4.3ScriptletJSP语法格式如下:<%代码%>对于它的解释我们可以参考书上110页4.4.2表达式(Expression)JSP中表达式可324.5动作元素
大多数的JSP处理都是通过JSP中的动作元素来完成的。JSP动作元素是利用XML语法写成的。在JSP2.0中定义了20种标准的动作元素,它们都是以“jsp”为前缀。<jsp:param><jsp:include><jsp:useBean><jsp:setProperty><jsp:getProperty><jsp:forward><jsp:plugin>
下面我们来给大家逐一介绍一些重要的动作的元素4.5动作元素大多数的JSP处理都是通过JSP334.5.1<jsp:param>
它主要提供一些名称和值,通常和<jsp:include>,<jsp:forword>,<jsp:plugin>一起使用,如果这个操作独立于以上的操作,将没有任何作用。格式:<jsp:paramname="parameterName"value="parameterValue/>“<jsp:param>”用来传递一个或多个参数,能在一个页面中使用多个“<jsp:param>”来传递多个参数,4.5.2<jsp:include><jsp:include>动作用来把指定文件插入正在生成的页面。其语法如下:<jsp:includepage=“relativeURL”flush=“true”/>flush:默认是false,如果该值为true表示当缓冲区满的时候,缓冲区将被清空。一般这个值要设为true。
4.5.1<jsp:param>它主要提供一些34<jsp:include>动作允许包含静态文件和动态文件,这两种包含文件的结果是不同的。如果文件仅是静态文件,那么这种包含仅仅是把包含文件的内容加到jsp文件中去,这个文件不会被JSP编译器执行;如果这个文件动态的,那么这个被包含文件也会被JSP编译器执行。<html> <head> <title>peixun.2.10.jsp</title> </head> <body> <jsp:includepage="peixun2.10.1.jsp"flush="true"> <jsp:paramname="User"value="HiFiKing"/> </jsp:include> </body></html><jsp:include>举例<jsp:include>动作允许包含静态文件和动态文件,这354.5.3<jsp:forword><jsp:forward>用于引导客户端的请求到另一个页面或者是另一个Servlet去。其语法格式为:<jsp:forwardpage={"relativeURL"|"<%=expression%>"}/><jsp:forward>动作可以包含一个或几个<jsp:param>子动作,用于向要引导进入的页面传递参数。“<jsp:forward>”标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象。“<jsp:forward>”标签以后的代码,将不能执行。我们可以参考书上112页的例子来说明这个问题。4.5.3<jsp:forword><jsp:forwar364.5.3<jsp:plugin>
它主要用来在客户端的浏览器中显示一个对象,通常为Applet或者Bean。至于它里面的一些格式和参数我们可以参考书中113页来理解。<%@pagecontentType="text/html;charset=GB2312"language=“java”%><HTML><BODY><jsp:plugintype="applet"code="B.class"jreversion="1.2"width="200"height="260"><jsp:fallback>PlugintagOBJECTorEMBEDnotsupportedbybrowser.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 超星尔雅学习通《从爱因斯坦到霍金的宇宙(北京师范大学)》2025章节测试附答案
- 妇幼保健员面试技巧与实战
- 人力资源管理师招聘面试试题及答案
- 二零二五年度储藏煤场租赁与绿色仓储技术创新合同
- 二零二五年度不锈钢扶手安全标准制定与执行合同
- 2025年度高新技术企业人才招聘协议书
- 二零二五年度商铺租赁合同解除及商业风险评估及解决方案合同
- 稳定土路基试题及答案
- 二零二五实习律师劳动能力提升与就业对接合同
- 2025年度综合性工厂合伙生产研发协议
- GB/T 95-2002平垫圈C级
- GB/T 17980.37-2000农药田间药效试验准则(一)杀线虫剂防治胞囊线虫病
- GB 19377-2003天然草地退化、沙化、盐渍化的分级指标
- 2023精麻药品培训知识试题库及答案(通用版)
- 居民死亡医学证明书英文翻译模板
- 劳 务 中 标 通 知 书
- 建房界址四邻无争议确认表
- 化工安全工程:第四章 泄漏源及扩散模式
- 流变性以及其调整
- 完整版安全生产培训内容
- 医院关于待岗、停岗的规定
评论
0/150
提交评论