弋阳网站建设制作,wordpress网站二次开发,外贸网站建设优化推广,通道县城市建设投资有限公司网站本文转自与博客园一杯凉茶的博客.在之前我们学过在JSP页面上为了不使用脚本#xff0c;所以我们有了JSP内置的行为、行为只能提供一小部分的功能#xff0c;大多数的时候还是会用java脚本#xff0c;接着就使用了EL表达式#xff0c;基本上EL表达式看似能满足我们的要求所以我们有了JSP内置的行为、行为只能提供一小部分的功能大多数的时候还是会用java脚本接着就使用了EL表达式基本上EL表达式看似能满足我们的要求它能够获取各种对象各种值并且还不会抛出NullPointerException之类的错误但是EL表达式功能还是有限例如不能遍历集合等因此为了完善JSP让其完全不使用java代码就有了jstl标签库使用jstl和EL的配合使用基本上可以实现所有的功能显示数据遍历数据等。一、为什么使用标签JSP是用来显示数据的前面我们在JSP中的HTML中嵌入java代码与等混在一起可读性和可维护性都很差而且使用java脚本不便于代码重用要实现比较复杂的显示功能也不方便而JSP标签和HTML代码很类似使用JSP标签显得JSP整洁而干净可读性好标签能够重复使用所以就像我们上面说的我们慢慢意识到不足就自然在一步步改进从使用JSP行为使用EL在使用标签都是为了一个目的让JSP更加完全方便只显示数据而不嵌入逻辑代码。这个涉及到了分层思想后面说讲解到。二、JSTL标签库JSTL标签库中包括很多种类的标签core、fmt、fn方法库、sql标签库使用JSTL标签库需要用taglib指令导入JSTL标签库core标签库讲解、、、、、、 、、 、、标签out 将指定内容输出到浏览器默认支持el表达式,value:输出的值可以为EL表达式default如果value属性的值不存在会输出default属性值excapeXml如果为true则会为value中的特殊字符进行转义默认为true和标签图中只介绍set标签的一种用法其中var不能接受EL表达式只能是字符target:跟var类似但是它能够接受EL表达式可以是一个对象一个map等和var进行互补property:对象中的属性名value:属性赋值使用哪种set标签就看自己的需求了。标签if条件语句标签 标签将自定义字符串按照指定字符进行分割并遍历输出items自定义字符串delims指定字符var遍历的变量名。 标签相当于try catchvar捕捉后的异常对象标签增强的for循环格式items:需要遍历的对象var:用于存放遍历的每一项内容存放在page作用域只能在循环体中使用1、items为字符串或字符串数组为字符串直接输出为字符串数组遍历输出2、items为list集合3、items为map集合4、普通for循环begin从1开始end到10结束step:每次加2var循环的变量标签记得讲session的时候如果cookie禁用了那么只能将url进行重写才能让session继续生效而使用的api是response.encodeURL();就是将SESSIONID当作参数带过来而url标签的作用就是实现类似功能 就讲解三个属性value:要进行重写的urlvar如果写了该变量那么就会将其重写后的url存入page作用域中如果scope没有的话默认就是page否则以scope属性值为准在作用域范围内就可以直接拿着这个变量使用了如下面所展示的。scope:作用域范围默认是page访问后点击超链接没有关闭cookie所以不会将SESSIONID写入url中 。标签标签类似于JSP的include行为和include指令JSTL也提供了include功能的标签不过import标签功能更强大甚至可以把Internet上的网页包含进来。 fmt标签库是一些辅助性功能标签就讲解一个把用的不多等用到的时候在去详细学标签只有一个属性value 设置编码相当于Java中的request.setCharacterEncoding();post提交中文参数使用来设置编码就不会出现中文乱码了。get提交中文参数该标签就会失效除非到TOMCAT的server.xml中将URLEncoding设置为UTF-8(默认为ISO-8859-1)。显示所有地区的数据格式等等fn方法库提供一些方法函数例如字符串查找截取之类。之所以不叫fn标签库而叫fn方法库因为与corefmt标签格式不一样并且必须在el表达式中使用格式fn:methodName()的格式比如fn:contains()contains方法判断是否包含指定的字符串相当于java里String类的contains方法。fn:contains(String string1String string2);containsIgnoreCase方法判断是否包含指定字符串忽略大小写fn:contains(String string1String string2)endsWith方法判断某字符串是否以指定的参数结尾fn:endWith(String string1String string2);startsWith方法判断某字符串是否以指定参数开始fn:startsWith(String string1String string2);escapeXml方法是否转义字符fn:escapeXml(source);indexOf方法查找字符串在另一个字符串中第一次出现的位置fn:indexOf(String string1String string2);split方法将字符串以指定参数为界分割成多个字符串形成字符串数组。。join方法与split方法相反将字符串数组以参数为界连接成字符串length方法取字符串数组集合的长度等等SQL标签库JSP中直接可以操作数据库但是大多数时候我们都不会这样用。。XML标签库为了方便地处理XML三、总结重点讲解了一下JSTL中的core标签库其实也就是一些控制流程的标签没什么思想只要会用就行了以后忘记了就回过头来查查看最重要的是思想这些死东西记录一下就行了。上一篇:深入学习Java Web(六) :EL表达式详解