JSTL(二)--核心标签库
来源:互联网 发布:js四舍五入取整函数 编辑:程序博客网 时间:2024/06/06 17:24
在<JSTL(一)---简介>中,我对JSTL进行了简单的介绍,今天就进行深入的学习一下,再次要介绍的就是关于JSTL的核心标签库,为什么叫做核心标签库呢,我对此的理解就是这些标签库使用的频率比较高.
一.宏观把控
做一件事情的时候,我们常常会说:先宏观把控好了,细节都不是问题了.那么我们就从宏观来看看JSTL的核心标签库,如下图所示:
看着这些单词,是不是有一种似曾相识的感觉呢.
二.细节处理
温馨提示:
使用标签时,一定要在jsp文件头加入以下代码:<%@taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core" %>
1.与表达式相关的核心标签库
- <c:out>:输出表达式的结构,类似于alert().system.out.println();
格式:
<c:out value="表达式"[escapeXml="true|false"] [default="默认值"]/>
- <c:set>:设定指定范围内的一个变量和对象的值.类似于=,
格式1:
<c:set value="要设置的值"var="变量名" />
格式2:
<c:set var="变量名">要设置的值 </c:set>
格式3:
<c:set value="要设置的值" target="对象名称" property="对象的属性名称"/>
格式4:
<c:set target="对象名称" property="对象的属性名称"> 要设置的值</c:set>
- <c:remove> :删除某范围内的一个变量. 类似于remove,delete
格式:
<c:remove var="变量名" />
例如:
<body><c:set var="bookname" value="《java web 极限开发》"/>变量bookname的值位:<c:out value="${bookname}"/><br/>变量bookname的值位:<c:out value="${bookname}" escapeXml="false"/><br/><c:removevar="bookname"/>变量bookname的值为:<c:outvalue="${bookname}"/><br/><c:catch var="errorStr"><%=3/0%><c:out value="这是输出的内容"/></c:catch>捕获到异常:<c:out value="${errorStr }"/></body>
效果图:
2.流程控制核心标签
- <c:if>:类似于java,C#中的if判断语句
格式1:
<c:if test="条件表达式" var="变量名"/>
格式2:
<c:if test="条件表达式"> 表达式成立后执行的代码</c:if>
- <c:choose>,<c:when>,<c:otherwise>:类似于java,C#中的switch语句.
格式:
<c: choose> <c:when test="条件表达式1"> 条件表示成立后执行的语句. </c:when> <c:otherwise> 以上条件表达式都不成立后执行的语句 </c:otherwise> </c:choose>
温馨提示: <c:when>标签和<c:otherwise>标签必须嵌套在<c:choose>标签中使用,且在同一个<c:choose>标签中的所有的<c:when>标签必须出现在<c:otherwise>标签之前.
3.迭代核心标签
- <c:forEach>:要么通过集合对象来决定执行循环体中嵌套的语句的次数,要么执行固定的次数.
格式:
<c:forEachitems=”data” var=”name” begin=”start” end=”finsh” step=”step”varStatus=”statusName”> ......//标签主体 </c:forEach><span style="font-family: Calibri; font-size: 14pt; "> </span>
- <c:forTokens>:处理由某一符号分隔的字符串,从其中拆分出子字符串.
格式:
<c:forTokensitems=”String” delims=”char”>.....//标签主体</c:forTokens>
例如:
<body><%//-------------设置一个数组的初始值-----------String name[] =new String[4];name[0]="阿涛";name[1]="弯弯";name[2]="东哥";name[3]="西瓜";request.setAttribute("name",name); %> -------------用forEach输出数组元素值及迭代过程中的相关属性---------------<br></br> <c:forEach items="${name}" var="currentName" varStatus="currentVarStaus"> 当前元素值为:<c:out value="${ currentName}" /><br/> 当前元素索引号为:<c:out value="${currentVarStaus.index}"/><br/> 当前共计迭代<c:outvalue="${currentVarStaus.count}"/>次;<br/> <c:if test="${currentVarStaus.first}">当前是第一次迭代操作</c:if><br/> <c:iftest="${currentVarStaus.last }">当前是最后一次迭代操作</c:if><br/> </c:forEach> -------------------用forTokens分拆字符串------------------------<br /> <%//---------------------设置一个字符串的初始值-------------- String namestr=new String("姓名=唐欢|年龄23岁|性别=女"); request.setAttribute("nameStr",namestr); %> 字符串为:<c:out value="${nameStr }"/><br/> <!--------用"|"作分隔符 --> 用|作分隔符</br> <c:forTokensitems="${nameStr }" var="currentName" varStatus="currentVarStatus" delims="|"> 当前元素值位:<c:out value="${currentName}"/>;<br/> 当前元素索引号为:<c:out value="${currentVarStatus.index}"/><br/> 当前共计迭代<c:out value="${currentVarStatus.count}"/>次;<br/> <c:if test="${currentVarStatus.first}">当前是第一次迭代操作</c:if><br/> <c:iftest="${currentVarStatus.last}">当前是最后一次迭代操作</c:if></br> </c:forTokens></body>
效果图:
4.URL相关的核心标签
- <c:import>:将其它文件包含到当前jsp文件中,其它文件可以是动态文件也可以是静态文件.
格式:
<c:importurl=”url” [context=”context”] [var=”name”]> score=”[page | request | session |application]” [charEncoding=”encoding”] ......//标签主体 </c:import><c:import url=”url” [context=”context”]varReader=”name” [charEncoding=”encoding”]><span style="font-family: Calibri; font-size: 14pt; "> </span>
- <c:url>:生成URL
格式:
<c:url value="生成的URL">.
例如:
<body>-----------------使用url标签生成一个URL-------------------------<br/><c:urlvalue="test.jsp" scope="page" var="testURL"><c:param name="baidu"value="百度搜索"/></c:url>生成的URL为:<c:outvalue="${testURL}"/></body>效果图:
- <c:redirect>:把客户端发来的请求重定向到另一个页面
格式1:
<c:redirecturl=”url” [context=”context”]> ......<c:param> //在标签主体中使用<c:param>标签传递其他的参数信息 </c:redirect>
格式2:
<c:redirecturl=”url” [context=”context”] />
三.总结
这些都是以前学过的内容,只不过在java中,使用标签的形式呈现出来,更加体现了java的移植性.
0 0
- JSTL(二)--核心标签库
- JSTL核心标签库
- JSTL核心标签库
- JSTL核心标签库
- JSTL-核心标签库
- JSTL-核心标签库
- JSTL-核心标签库
- JSTL 核心标签库
- JSTL-核心标签库
- JSTL核心标签库
- Jstl 核心标签库
- JSTL-核心标签库
- JSTL 核心标签库
- JSTL-核心标签库
- JSTL 核心标签库
- JSTL 核心标签库
- JSTL核心标签库
- JSTL 核心标签库
- 使用dumpbin命令查看dll导出函数及重定向输出到文件
- 开发Web系统,使用Scriptcase,访问www.phpscriptcase.com
- 搀扶的夕阳
- cache buffers chains latch
- 详细解析Java中抽象类和接口的区别
- JSTL(二)--核心标签库
- git上上传项目
- 编译器DIY之———统计英文文本中的单词数,字符数和行数
- 你想给我最好的
- 构建iOS持续集成平台(三)——CI服务器与自动化部署
- JAVA+SQL链接笔记
- STM32的NVIC个人理解
- c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目
- 宁静以致远,淡泊以明志