JSTL解析——004——core标签库03
上面章节主要讲解<c:forEach>标签,下面讲解其它标签
1、<c:forTokens>标签
forTokens标签与forEach标签类似,独有begin、end、step、items等属性,可以循环,不同之处是forTokens标签里面是字符串
<c:forTokens items="Jane,Toni,Andy,hedix" delims="," var="item" varStatus="status" begin="1" end="4" step="2">
<tr>
<td>${status.index}</td>
<td>${item}</td>
</tr>
</c:forTokens>
输出结果可以自己亲手试试看,下面解析一下各个属性的作用,delim是类似分割点的意思,varStatus遍历对象的信息,其中${status.index}的输出当前对象是第几个
2、<c:set>标签
一个页面有时候需要统计一些数字,比如当前用户登录次数,当前页面总访问人数等
set标签可以帮我完成这些功能,它总共有五个属性(var、value、scope、target和poperty)
1)
<c:set var="totalCount" value="${totalCount+1}" scope="application"></c:set>
<c:set var="count" value="${count+1}" scope="session"></c:set>
<tr>
<td>网站总访问数:${totalCount}</td>
<td>其中您的访问次数:${count}</td>
</tr>
下面解析一下属性意义:var就是set的对象,value就是set进去的值,scope声明该对象的作用范围
2)
<%
request.setAttribute("person",new com.bean.Person());
request.setAttribute("map", new java.util.HashMap());
%>
<c:set target="${person} property="name" value="${param.name}"></c:set>
<c:set var="${map} property="name" value="${param.name}"></c:set>
<tr>
<td>${person.name}</td>
<td>${map.name}</td>
</tr>
信息的朋友会问,为什么下面的买看见var属性呢?问的很好
实际上var和target属性是相互排斥和互助的,也就是说有var就没target,各有各的作用,下面说说它们的不同之处
var不能接受EL表达式的,但target必须接受EL表达式
target只能用来操作javaBean或者Map
target一般和property组合使用,其中property对应的是target对象的属性,如果target是Map,则porperty对应的是key值
请注意(target是不应许对象为null的)
var和target不能同时使用在一个标签里面
3、<c:remove>标签
remove标签的作用和set标签的作用刚好相反,remove有两个属性,var和scope,同set一样var属性只接受字符串不接受EL表达式
<%
request.setAttribute("test", new java.util.HashMap());
%>
<c:remove var="test ></c:remove>
<tr>
<td>${test ==null ?'test对象已经被删除':'test对象没有被删除'}</td>
</tr>
其中当test是的空的时候,不会报错
4、<c:catch>标签
大家一看到这个标签应该能才出来是捕捉异常的,确实是这样的,catch只有var一个属性
<c:catch var="test >
<c:set target="${person}" property="name" value="some value"></c:set>
</c:catch>
<tr>
<td><c:if test="${test!=null}">程序报错,错误内容:${test.class.name}</c:if></td>
</tr>
JSTL解析——004——core标签库03的更多相关文章
- JSTL解析——002——core标签库01
javaEE5之前的版本需要引用JSTL相关的jar包.tld文件等,JAEE5之后就不用这么麻烦了, 如果你的还是不能使用就去官网下载(jstl.jar和standard.jar)这两个jar包,将 ...
- JSTL解析——005——core标签库04
直接入主题,标签讲解 1.<c:import>标签 JSP里面有<% file include="XX"%> 与<jsp:include>,JS ...
- JSTL解析——003——core标签库02
上一节主要讲解了<c:if/><c:choose/><c:when/><c:otherwise><c:out/>标签的使用,下面继续讲解其它 ...
- JSTL解析——007——fmt标签库02
各位亲们,近期事情比较多,没更新,come on! 1.<fmt:bundle>/<fmt:message>/<fmt:param>资源国际化标签 java中使用R ...
- JSTL标签急速秒杀jsp页面中的java代码(一)---Core标签库
JSTL标签简介 ===================================================================== JSTL的全称是JavaServer Pa ...
- JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】
什么是JSTL JSTL全称为 JSP Standard Tag Library 即JSP标准标签库. JSTL作为最基本的标签库,提供了一系列的JSP标签,实现了基本的功能:集合的遍历.数据的输出. ...
- (1)JSTL的13个core标签库
标准标签库JSTL的全名为:Java Server Pages Standard Tag Library. (jsp standard tag library) JSTL主要提供了5大类标签库: ...
- JSTL(JSP标准标签库)
JSP标准标签库(JavaServer Pages Tag Library, JSTL)是一个定制JSP标签库的集合,封装了JSP应用的通用核心功能.用来解决像遍历Map或集合.条件测试.XML处理, ...
- JSP开发中对jstl的引用方式(标签库引用)
创建标签库引用文件taglibs.inc 一 采用本地标签库的taglibs.inc文件 <%--struts库标签 --%> <%@ taglib uri="/WEB-I ...
随机推荐
- 动态规划之插头DP入门
基于联通性的状态压缩动态规划是一类非常典型的状态压缩动态规划问题,由于其压缩的本质并不像是普通的状态压缩动态规划那样用0或者1来表示未使用.使用两种状态,而是使用数字来表示类似插头的状态,因此.它又被 ...
- 亚马逊带Marketplace product code的image无法再mount到其他镜像上
这是对已发布镜像的保护么?难道对其进行修改的路彻底断掉了? 以volume形式attach也不行,dd成raw再读取也读不了,敢问路在何方呢 If a volume has an AWS Market ...
- Amazon的AWS账单看起来不是很方便
发了一个PDF格式的收据,只写了收取的费用,EC2下面的明细没有. DetailAmazon Simple Notification Service $0.00Charges $0.00Estimat ...
- 对xml进行解析
1.要解析的xml文件 <?xml version="1.0" encoding="utf-8"?> <infos> <city ...
- visual studio 2010配置驱动开发环境
visual studio 2010 配置驱动开发环境 ** 工具/材料 VS2010.WDK开发包 ** 配置过程 以下将讲述VS2010驱动开发环境的配置过程,至于必要软件的安装过程这里不再赘述 ...
- xml学习(1)xml的几种文件格式
1.先简单介绍一下XML,xml 是基于文本的标记性行语言,类似于html,可以方便存储数据 2,XML文件的几种格式: 格式1:查看一个 XML 的 CD 目录 <?xml version=& ...
- Handler不同线程间的通信
转http://www.iteye.com/problems/69457 Activity启动后点击一个界面按钮后会开启一个服务(暂定为padService),在padService中会启动一个线程( ...
- jsp各部分编码的含义
服务器JSP编码 pageEncoding 是jsp文件本身的编码, 第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,(jsp文件的编码,pageEncoding是 ...
- 为什么出现Wide character in print at a14.pl line 41
[root@wx03 ~]# cat a14.pl use Net::SMTP; use LWP::UserAgent; use HTTP::Cookies; use HTTP::Headers; u ...
- 类作为返回类型 ,具有java特点-封装等 而且应用起来很方便。
public class StudentDao { public Student getStudent(){ Student stu = new Student(); stu.setName(&quo ...