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
原创粉丝点击