|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。js|历程|网页概述
JavaServerPages(JSP)尺度标志库(JSTL)的版本的公布关于JSP/servlet开辟者来讲是一个严重的停顿。有了一个表达言语(EL)和一组四种壮大的、易于进修的尺度标志库,JSTL极有大概不久后成为完成静态的、基于Java的站点的次要办法。
1996年对JSPservlet的先容使得Java成为静态网页开辟的公道的选择。随后呈现的Java服务器页(JSP)是走向疾速的、可保护的Java网页完成历程的公道退化的一步,紧接着就呈现了JSP标志的撑持。可是2002中期的JSTL(JSP尺度标志库)的公布才是进一步减速和简化开辟历程最年夜的一步。
在本文中,我注释了JSTL的功效,也涵盖了你启动JSTL所需的每件事变。假定你有了对Java、JSP、XML和安装一个Web容器的基础了解。假如你对这些主题感应生疏,你能够在Resources(http://www.javaworld.com/javaworld/jw-02-2003/jw-0228-jstl.html?#resources#resources)上扫瞄一下背景参考。鄙人面的论述中,假定你有XML和SQL的常识。
安装JSTL撑持
关于我们的JSTL安装例子来讲,我们利用Tomcat4.1(只管恣意撑持Servlet2.3和JSP1.2申明的servlet容器都应当能事情)。起首,下载Tomcat4.1而且按唆使举行安装(注重:JSTL必要一个JSP1.2Web容器)。
用tomcat4start程序启动Tomcat,而且运转index.html页来确保Tomcat是激活的、且运转优秀。
接上去,安装JSTL撑持,你能够从Jakarta站点下载JSTL撑持,(http://www.javaworld.com/javaworld/jw-02-2003/jw-0228-jstl.html?#resources#resources)并依照上面步骤:
1.从Jakarta站点下载JSTL检索、解压/脱档该文件。(http://www.javaworld.com/javaworld/jw-02-2003/jw-0228-jstl.html?#resources)
2.复制你已解压为common/lib的jar文件到你的Tomcat安装路径中(只管我们的项目不必要一切的jar文件);这使得JSTL文件合用于你的恣意Web使用。
3.关于恣意你想利用JSTL的Web使用来讲,复制.tld文件到你的Web使用的WEB-INF目次下。
4.关于你的JSTL的Web使用,编纂web.xml并增加以下输出:
- <taglib><taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri><taglib-location>/WEB-INF/fmt.tld</taglib-location></taglib><taglib><taglib-uri>http://java.sun.com/jstl/core</taglib-uri><taglib-location>/WEB-INF/c.tld</taglib-location></taglib><taglib><taglib-uri>http://java.sun.com/jstl/sql</taglib-uri><taglib-location>/WEB-INF/sql.tld</taglib-location></taglib><taglib><taglib-uri>http://java.sun.com/jstl/x</taglib-uri><taglib-location>/WEB-INF/x.tld</taglib-location></taglib>
复制代码
这些输出让你的Web使用可以使用JSTL标志库的表达言语(EL)版本。这些输出的地位有干系!假如你不愿定将他们输出到那边,关于web.xml选项温柔序的威望性引导在文档范例界说(DTD)中界说过:http://java.sun.com/j2ee/dtds/web-app_2_2.dtd。
5.当你创立了一个利用JSTL的JSP页时,将他输出到你的Web使用的主目次下,就像别的JSP和HTML页一样。你能够为该页恣意取名,可是它必需有一个.jsp的扩大名。
基本道理
起首,一切的JSTL也是JSP页,JSTL只是JSP功效的一个超集。
一样,一切的JSTL标志是无效的XML。这意味着:假如你将JSTL标志以外的内容看成一时文本(一般是HTML)时,剩下的JSTL标志必需看成正当的XML来注释。这里有一些隐含的划定规矩,它请求年夜部分XML语法都是准确的。
JSTL供应一组四个尺度标志库(core中心、internationalization/format国际尺度化/格局、XML和SQL)并撑持EL。JSTL和EL的基础计划目标是简化网页开辟和完成。
在本文中,我们遵守JSTL仿单的定名划定规矩,而且把JSTL标志看成举措。一个JSTL标志对应于某个举措;挪用举措明白的提示我们:他们增加静态举动到一个别的的静态页上。
JSTL标志库有两个版本:一个用你之前利用的办法将JSP表达式拔出,如<%=...%>,另外一个利用一个JSTLEL.我会在前面进一步会商在JSTL中的EL撑持。
EL撑持
要了解以后JSTL对EL撑持的形态,让我们反省相干的仿单是如何处置的。Java仿单哀求(JSR)专家构成员决意:因为某种缘故原由,EL标准申明应当是JSP仿单的一部分,而不是JSTL仿单的一部分。EL完全的仿单成为JSP2.0的一部分。由于JSTL1.0在JSP1.3之前已完成,JSTL作者不能不对用于JSTL1.0的EL撑持完成做一个公道的推测(了局多是相称好的)。一个JSTL保护版本将与JSP1.3仿单坚持分歧,并为了使EL合适JSP1.3仿单,JSTL保护版本做了一些修改。
本文形貌的EL提要大概期近将公布的JSTL版本中有一点修改,可是任何修改都是巨大的。
EL用于复杂的语法界说了一套功效壮大的言语,它很简单进修。它交融着JavaScript言语和Perl言语较好的部分的一些作风。EL表达式,集成了来自四种尺度标志库的JSTL标志,供应了一个伟大的、天真的属性集。
一切的EL表达式都被${}括起来。JSTL中的表达式老是JSTL标志中的属性值的一部分。表达式能够是属性的一部分大概兼并和嵌进到一个字符串间接量中。JSTL属性也能够包括复杂的字符串间接量。在接上去的JSTL中,我们在一个来自中心库的c:out举措中申明每种情形,这个中心库将它的value属性值送到JSP输入上:
- <c:outvalue="${anExpression}"/><c:outvalue="literalText${anExpression}${anotherExpression}"/><c:outvalue="literalText"/>
复制代码
EL也界说了一套划定规矩用于强迫表达式中的值转换为高低文绝对应的范例。我们在这里不具体会商这些划定规矩;但是,它的办法与用Perl言语界说的体例十分类似(就像Perl言语中的做法一样,该办法天经地义的运转优秀,可是,偶然,也会呈现大概不是你非常想要的那种了局,但你能够承受)。
EL为会见对象属性、汇合元素、一组埋没对象和利用相干的、逻辑的和算术的操纵符供应了撑持。关于索引的属性来讲,包含数组和java.util.List类在内,元素可用以下语法会见:
- ${alist[4]}${aList[someVariable]}
复制代码
JavaBean属性和java.util.Map元素(它代表一系列名字/值对)都可使用以下办法的一个会见失掉。在以下的开首两个表达式里,我们能够会见到一个用JavaBean言语定名为aProperty的属性大概用关头字aProperty会见到一个Map实体。在第三个表达式中(注重:我已省略了引号),我们用保留在变量aVariableContainingPropertyName中的一个名字会见了在anObject以内的一个元素:
- ${anObject.aProperty}${anObject["aPropertyName"]}${anObject[aVariableContainingPropertyName]}
复制代码
在EL中界说了很多埋没变量:
●pageContext:用于该网页的pageContext对象
●pageScope,requestScope,sessionScope,和applicationScope:这些是映照这些局限的每个变量到值上的Map集。
●param和paramValues:用页会见传送的参数,与在JSP中一样
●header和headerValues:用页哀求传送的头,与在JSP中一样
●cookie:Map映照cookie程序到特定的cookie对象上
EL界说了全套与你在Java中十分熟习的那些完整对应的操纵符。算法操纵符包含+、-、*、/(或div)、和%(或mod)。相干的操纵符包含==、!=、<、>、<=、>=,它分离对应于eq、ne、lt、gt、le、和ge。我不想具体论述这些操纵符,由于他们都能自我申明。
而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践! |
|