TSTL标签库一、作用:1).基本的输入输出2).流程控制3).循环控制4).xml文件解析5)数据库SQL查询6)国际化二、core标签库1.c:out/c:out属性名描述EL表达式必选默认值value要打印的值可以是无default默认值否无escapeXml是否解析html标签Boolean类型否true2.c:set/c:set属性名描述EL表达式必选默认值value要不存的内容。可以是EL或常量var要保存内容的变量target要修改属性的propertyscope3.c:removevar=/用于删除设定的变量属性名描述EL表达式必选默认值var被删除的变量名称否是无scope被删除的变量的作用范围否否Page,request,session,application先后顺序,查找删除4.c:catch/c:catch捕捉异常属性名描述EL表达式必选默认值5.c:ifvar=执行语句/c:if6.c:choosec:when/c:when/c:choose属性名描述EL表达式必选默认值test判断条件是If和choose-when的区别:c:setvalue=adminvar=username/c:setc:iftest=${username=='admin'}欢迎管理员!/c:ifc:iftest=${usernamenenull}欢迎${username}/c:ifc:iftest=${usernameeqnull}请登录/c:if欢迎管理员!欢迎admin结论:只要符合条件,就执行c:choosec:whentest=${username=='admin'}欢迎管理员!/c:whenc:whentest=${usernamenenull}欢迎${username}/c:whenc:whentest=${usernameeqnull}请登录!/c:when/c:choose欢迎管理员!结论:执行符合条件的第一条指令7.c:forEach/c:forEach1)显示列表2)显示一个对象%Listl=newArrayList();l.add(0,a);l.add(1,b);l.add(2,c);l.add(3,d);request.setAttribute(l,l);%c:forEachitems=${l}var=vvarStatus=c${c.index}:${v}${c.count}:${v}${c.last}:${v}${c.first}:${v}br/c:forEach属性名描述EL表达式必选默认值items进行循环的集合否否无var当前成员变量的名称否否无began开始索引可以否0end结束索引可以否最后索引step步长可以否1varStatus显示循环状态的变量有4个属性Index、count、first、last可以否无三、总结1.条件:c:iftest:boolean类型,1)判断为空test=${usernameeqnull}test=${emptyusername}2)判断不为空test=${usernamenenull}test=${!emptyusername}c:choosec:whenc:otherwise1)至少一个c:when2)最多一个c:otherwise3)c:when必须在c:otherwise4)c:whenc:otherwise在c:choose2.循环:c:forEach1)items=${}:要循环的变量集合2)Var当前元素3)varStatus:index,count,last,first4)End:最后一个元素的索引int5)Step:1int输出对象时,直接对象属性即可4个范围:pagerequestsessionapplication从小到大,默认page国际化界面内容国际化Format标签库第一步:写资源文件第二部分:fmt:setLocalevalue=en_US/设置语言及地区fmt:bundlebasename=com.res.res用来绑定资源文件:basename:文件夹+文件名的第一部分fmt:messagekey=uname/inputtype=textkey值就是符号名fmt:messagekey=pw/inputtype=text/fmt:bundle