JSTL标签参考手册前言=====================================================================JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以写出来。这算是Java程序员的基本功吧,一定要扎实。JSTL全名为JavaServerPagesStandardTagLibrary,目前最新的版本为1.1版。JSTL是由JCP(JavaCommunityProcess)所制定的标准规范,它主要提供给JavaWeb开发人员一个标准通用的标签函数库。Web程序员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序的阅读性、维护性和方便性。JSTL1.1必须在支持Servlet2.4且JSP2.0以上版本的Container才可使用%@taglib%引入标签库=====================================================================1、以classPath中,加入jar包:standard-1.1.2.jar,jstl-1.1.2.jar2、在相目\WEB-INF\tld\文件夹中放入常用的tld文件:c.tld,fmt.tld3、在jsp文件的顶部加入以下内容:Java代码1.%@tagliburi==c%2.%@tagliburi==fmt%3.%@tagliburi==fn%c:核心标签库=====================================================================JSTL核心标签库(C标签)标签共有13个,功能上分为4类:1.表达式控制标签:out、set、remove、catch2.流程控制标签:if、choose、when、otherwise3.循环标签:forEach、forTokens4.URL操作标签:import、url、redirectc:forEach标签-------------------------------------------------------------------为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。c:forEach标签的语法说明:语法1:迭代一集合对象之所有成员Html代码1.c:forEach[var=varName]items=collection[varStatus=varStatusName][begin=begin][end=end][step=step]2.本体内容3./c:forEach语法2:迭代指定的次数Html代码1.c:forEach[var=varName][varStatus=varStatusName]begin=beginend=end[step=step]2.本体内容3./c:forEachc:forEach标签的属性说明:c:forEach标签的属性:varStatus属性:它的提供另外四个属性:index,count,fist和last,它们个自的意义如下:Java代码1.属性类型意义2.indexnumber现在指到成员的索引3.countnumber总共指到成员的总和4.firstboolean现在指到成员是否为第一个5.lastboolean现在指到成员是否为最后一个c:forEach遍历List列表:对于一个基本类型的数组,当前元素将作为相应包装类(Integer、Float等等)的一个实例提供。Html代码1.c:forEachitems=${domainList}var=item2.tr3.tdalign=centervalign=middle${item[domain]==null? :item[domain]}/td4.tdalign=centervalign=middlefmt:formatDatevalue=${item['bind_date']}pattern=yyyy-MM-ddHH:mm:ss//td5.tdalign=centervalign=middle6.c:iftest=${item['domain']!=null}7.ahref=javascript:;id=${item['domain']}class=del /a8./c:if9./td10./tr11./c:forEachc:forEach遍历Map:对于一个java.util.Map,当前元素则作为一个java.util.Map.Entry提供。Html代码1.c:iftest=${!emptypermissionMap}2.c:forEachitems=${permissionMap}var=item3.tr4.td${item.value.id}/td5.td${item.value.urlOnClass}/td6.td${item.value.urlOnMethod}/td7./tr8./c:forEach9./c:ifc:forTokens标签-------------------------------------------------------------------用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的。c:forTokens标签的语法说明:Html代码1.c:forTokensitems=stringOfTokensdelims=delimiters[var=varName]2.[varStatus=varStatusName][begin=begin][end=end][step=step]3.本体内容4./c:forTokensc:forTokens标签的属性说明:c:out标签-------------------------------------------------------------------主要用来显示数据的内容c:out标签的语法说明:语法1:没有本体(body)内容Html代码1.c:outvalue=value[escapeXml={true|false}][default=defaultValue]/语法2:有本体内容Html代码1.c:outvalue=value[escapeXml={true|false}]2.defaultvalue3./c:outc:forEach标签的属性说明:略一般来说,c:out默认会将、、’、”和&转换为<、>、'、"和&。假若不想转换时,只需要设定c:out的escapeXml属性为fasle就可以了。c:set标签-------------------------------------------------------------------主要用来将变量储存至JSP范围中或是JavaBean的属性中。c:set标签的语法说明:语法1:将value的值储存至范围为scope的varName变量之中Html代码1.c:setvalue=valuevar=varName[scope={page|request|session|application}]/语法2:将本体内容的数据储存至范围为scope的varName变量之中Html代码1.c:setvar=varName[scope={page|request|session|application}]2.…本体内容3./c:set语法3:将value的值储存至target对象的属性中Html代码1.c:setvalue=valuetarget=targetproperty=propertyName/语法4:将本体内容的数据储存至target对象的属性中Html代码1.c:settarget=targetproperty=propertyName2.…本体内容3./c:setc:set标签的属性说明:c:remove标签-------------------------------------------------------------------主要用来移除变量。c:remove标签的语法说明:Html代码1.c:removevar=varName[scope={age|request|session|application}]/c:catch标签-------------------------------------------------------------------主要用来处理产生错误的异常状况,并且将错误信息储存起来。c:catch标签的语法说明:Html代码1.c:catch[var=varName]2.…欲抓取错误的部分3./c:catchc:if标签-------------------------------------------------------------------的用途就和我们一般在程序中用的if一样。c:if标签的语法说明:语法1:没有本体内容(body)Html代码1.c:iftest=testConditionvar=varName[scope={page|request|session|application}]/语法2:有本体内容Html代码1.c:iftest=testCondition[var=varName][scope={page|request|session|application}]2.本体内容3./c:if示例:Html代码1.c:iftest=${notemptyitem.publish_time}2.内容3./c:if4.5.c:iftest=${item['domain']!=null}6.内容7./c:if8.9.c:iftest=${!emptypermissionMap}10.内容11./c:ifc:choosec:whenc:otherwise标签-------------------------------------------------------------------c:choosewhenotherwise标签的语法说明:Html代码1.c:setvar=score85/c:set2.c:choose3.c:whentest=${score=90}4.你的成绩为优秀!5./c:when6.c:whentest=${score=70&&score90}7.您的成绩为良好!8./c:when9.c:whentest=${score60&&score70}10.您的成绩为及格11./c:when12.c:otherwise13.对不起,您没有通过考试!14./c:otherwise15./c:choosefmt:格式化标签库=====================================================================一:JSTL格式化标签又称为I18N标签库,主要