JAVA网页设计JSTL简化JSP编码
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。js|编码跟着J2EE瘦客户机手艺JavaServerPages(JSP)在已往几年中的盛行,自力开辟职员已创立了很多自界说的JSP标志库。固然良多标志库是编写用来完成分歧方针的,但它们常常也对迭代、前提及其他通用操纵都供应了相似的办理计划。为了削减对办理相似通用成绩的自力标志库的需求,在JavaCommunityProcess(JSR52)的援助下创立了JSTL(JavaServerPagesStandardTagLibrary,JSP)尺度标志库,为办理这些通勤奋能供应一个单一的尺度办理计划。
JSTL库
JSTL出格为前提处置、迭代、国际化、数据库会见和可扩大标志言语(XML)处置供应撑持。JSTL还引进了expressionlanguage(EL,表达式言语),极年夜地简化了对JSP中使用数据的会见和操纵。JSTL包含4个JSP1.2自界说标志库,每个都涵盖了一个特定的功效范畴。
中心(Core)标志库为一样平常义务供应通用撑持,如显现和设置变量、反复利用一组项目、测试前提和其他操纵(如导进和重定向Web内容)。
XML标志库供应了对XML处置和操纵的撑持,包含XML节点的剖析、迭代、基于XML数据的前提评价和可扩大款式表言语转换(ExtensibleStyleLanguageTransformations,XSLT)的实行。
国际化(Internationalization)标志库撑持多语种的使用程序。
数据库(Database)标志库对会见和修正数据库数据供应尺度化撑持。
表1:JSTL的四个标志库
功效范畴URI前缀例子中心(Core)http://java.sun.com/jstl/corec<c:tagname...>XMLhttp://java.sun.com/jstl/xmlx<x:tagname...>国际化(Internationalization)http://java.sun.com/jstl/fmtfmt<fmt:tagname...>数据库(Database)http://java.sun.com/jstl/sqlsql<sql:tagname...>
JSTL进门
开端懂得JSTL的最好办法是会见Apache网站--jakarta.apache.org,并下载JSTL的参考完成。在Apache站点还可找到具体的安装指南。可下载的参考完成是一个JAR文件、文档和复杂代码示例的组合包。
要在你的J2EEWeb使用程序中利用JSTL,只需复杂地将"lib"目次下的JSTLJAR文件复制到你使用程序的WEB-INF/lib目次下。要在一个特定的JSP中利用JSTL标志,你还必需供应一个taglib指令。比方,要将"中心"JSTL库导进到你的页面中,你应当在你的JSP顶端包括上面的指令,以下所示:
<%@tagliburi="http://java.sun.com/jstl/core"prefix="c"%>
JSTL的EL撑持
JSTL的一个主要上风是它接纳了复杂的expressionlanguage(EL),该言语供应一个会见和操纵使用程序数据(如存储在servlet高低文中的数据)的复杂体例。
EL的语法很复杂,并且比Java中具有不异功效的暗示要对用户更加友爱。比方,pageContext.getAttribute("aName")表达式在EL中就成了${aName}。一切的JSTL标志在其属性值中都利用EL表达式。EL表达式在会见嵌套属性时利用${Java.expression}或${data.reference}格局。数据参考能够是对象及其属性大概对象及其属性数组:
${myobject.property}
数组存取操纵符也用于以索引元素汇合显现的数据,如Java数组或java.util.List:
${myList}$
在EL表达式中除可使用属性和数组元素操纵符和算术、干系和逻辑操纵符之外,你还可使用出格操纵符来测试对象是不是为空。
除对象和数组存取,EL还供应了一个完全的经常使用操纵符汇合,包含=、!、<、>、<=、>=、+、-、*、/等。
在任何JSP局限(页面、哀求、会话或使用程序)中的对象都能够在EL表达式中援用。比方,假如你有一个带有一个属性"Ename"的Javabean--Employee,那末能够用EL表达式${Employee.Ename}会见这个变量。
除显式变量,EL还供应了对隐式变量的哀求和应对对象中的隐式变量的间接会见。比方,以下语句将会见一个名为"empname"的哀求参数:
${param.empname}
行将推出的JSP2.0和JSTL1.0都利用EL。但是,JSP2.0中利用的EL稍有一点分歧。JSTL专家组(JSR-052)已批准期近将推出的JSTL保护版中利用EL的JSP2.0版本。
利用JSTL中心标志库
JSTL中心标志库为诸如显现、迭代和设置变量等操纵供应了最经常使用的标志。上面,我们更具体地先容一些最经常使用的JSTL中心标志库。起首,在利用任何JSTL中心标志之前,你必要将以下指令增加到你的JSP中:
<%@tagliburi="http://java.sun.com/jstl/core"prefix="c"%>
你最常利用的JSTL操纵之一是显现静态值。为了显现静态数据,中心库供应了c:out标志。c:out标志在一个页面中显现一个EL表达式的值。比方:
Firstname:<c:outvalue="${Employee.Ename}"/>
c:out的值属性还能够包括文本和表达式的组合:
<c:outvalue="Firstname:${Employee.Ename}"/>
(注重:当JSP2.0供应对EL的撑持时,你无需再利用c:out操纵,你能够间接在页面中嵌进JSP表达式。)
另外一个操纵是设置变量。为了在一个页面中设置变量,中心标志库供应了c:set标志。这个例子显现了将变量Ename设置为参数"enameparm"的值:
<c:setvar="Ename"value="${param.enameparm}"/>
JSTL中心标志库还供应了用于处置前提的标志。c:if处置复杂的前提测试。盘算test属性中布尔表达式的值;假如是真,盘算主体中的内容。鄙人面的操纵中,你还能够看到存储测试了局以备今后在页面(大概在其余中央,假如指定了其他的可选局限属性)中利用的可选的var属性:
<c:iftest="${Employee.salary<=10000}">Itstimeforaraise<c:outvalue="${Employee.name">!</c:if>
上面,你能够看到JSTL经由过程c:choose、c:when和c:otherwise对跳转逻辑的撑持。你能够在一个选择(choose)标志中包括一组c:when操纵;假如对c:when块中的表达式求值为真,则不合错误上面的c:choose操纵中的测试举行盘算。假如对c:when块中测试求值没有一个为真,则盘算c:otherwise操纵(假如存在的话)的内容:
<c:choose><c:whentest="${dept.name==development}">...</c:when><c:whentest="${dept.name==marketing}">...</c:when><c:otherwise>...</c:otherwise></c:choose>
c:forEach标志供应了一个对元素汇合举行迭代的复杂办法。假如你只想迭代汇合中的部分元素,你能够分离指定入手下手和停止索引和带有可选的入手下手、停止与步进属性的增量值。鄙人例中,我们对变量empNames中的一个汇合的内容举行迭代;在每一个轮回中,下一个元素被安排在变量名中,并在c:forEach操纵的主体中举行求值。
<table><c:forEachvar="name"items="${empNames}"><tr><td><c:outvalue="${name}"/></td></tr></c:forEach></table>
JSTL中心标志库还能够简化非常处置。之前,你必需将Javatry/catch语句安排在Javascriptlet中,大概在毛病页面中供应它们。JSTL经由过程c:catch标志供应了一个处置非常的拙劣办法,而无需利用scriptlet。
<c:catch><!―...somesetofnestedJSTLtagsthatfireanexception-></c:catch>
能够在jakarta.apache.org的参考完成中供应的JSTL文档中找到其他JSTL标志库如XML、国际化和数据库标志库的例子。
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点, Java是一种计算机编程语言,拥有跨平台、面向对java 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 Java是一种计算机编程语言,拥有跨平台、面向对java 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 是一种为 Internet发展的计算机语言 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java是一种计算机编程语言,拥有跨平台、面向对java 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 是一种使用者不需花费很多时间学习的语言 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
页:
[1]
2