JSTL标签库的总结

JSTL标签库

准备:

使用前需要导入jstl的jar,jsp页面需要引入使用taglib指令导入所需的标签库,一般结合EL表达式使用

如下导入核心标签库:      

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %

分类:

       最常使用的是core核心标签库,fmt格式化标签库

常用标签:

<c:out>标签用来显示一个表达式的结果,与<%=%>作用相似,区别就<c:out>标签可直接通过"."来访问属性

<c:out value="${out}" default="1"/>

<c:set>通常用来设置表达式的值

<c:set var="rootId" value="${rootDto.menuID}" /> 

<c:if>用来判断,表达式的结果为true,进入if标签内,  可以使用empty,not empty等

<c:if test="${empty roleList}">         
	<script>
		alert("对不起,您没有本系统的操作权限!");
	    window.top.location = "../logout.screen";
	</script>
</c:if>



<c:if test="${not empty roleList && empty rootMenu}">
	 <c:out value="${a}"/> 
</c:if>

<c:choose> 相当于if…else if ..else 的语法

<c:choose>    
  	<c:when test="${imageInfo.documentType eq 'P2P'}">
  	      <a href="javascript:showP2pImage('<c:out value="${imageInfo.url}"/>')"> </a>
  	 </c:when>
  	 <c:when test="${imageInfo.documentType eq 'camara'}">
  	      <a href="javascript:showCamarPhoto('<c:out value="${imageInfo.url}"/>')"> </a>
  	  </c:when>
  	  <c:otherwise>
<a href="javascript:showImage('<c:out value="${imageInfo.documentNo}"/>'</a> 	               
  	  </c:otherwise>
</c:choose>

<c:forEach>循环遍历标签,可用来遍历list,map,数组等

<c:forEach begin="0" end="${rowsCount}" var="in">
    <c:out value=${in}/>			
</c:forEach>
<c:forEach var="modMasInfoDTO" items="${modMasInfoDTO}">
    <c:out value= ${modMasInfoDTO.documentNo}/>		
</c:forEach>
拓展:

forEach标签还有一个属性:varStatus,这个属性用来指定接收“循环状态”的变量名,例如:<forEachvarStatus=”vs”…/>,这时就可以使用vs这个变量来获取循环的状态了。

·        count:int类型,当前以遍历元素的个数;

·        index:int类型,当前元素的下标;

·        first:boolean类型,是否为第一个元素;

·        last:boolean类型,是否为最后一个元素;

·        current:Object类型,表示当前项目

<c:forEach var="item" items="${ns }" varStatus="vs">  
    <c:if test="${vs.first }">第一行:</c:if>  
    <c:if test="${vs.last }">最后一行:</c:if>  
    <c:out value="第${vs.count }行: "/>  
    <c:out value="[${vs.index }]: "/>  
    <c:out value="name: ${vs.current }"/><br/>  
</c:forEach>

<c:url> 用于动态生成一个 String 类型的URL

<script type="text/javascript" src="<c:url value="/script/common.js"/>"></script>

<c:redirect> 该标签用来实现请求的重定向,如出现异常或者判断条件满足跳转到另外的页面

<c:redirect url="http://127.0.0.1:8080/login.jsp">
	<c:param name="uname">lihui</c:param>
	<c:param name="password">11111</c:param>
</c:redirect>

<c:import> 把其他静态或动态文件包含到 JSP 页面。与<jsp:include>的区别是后者只能包含同一个web应用中的文件,前者可以包含其他web应用中的文件,甚至是网络上的资源

 <c:import url="/cfs/common/baseSelect.jsp" charEncoding="GBK"> 
		<c:param name="tableName" value="l_sales_channel_mas" />
		<c:param name="selectedId" value="${RESULT.loanMas.salesChannel}" />
</c:import>

<c:catch> 用来处理 JSP 页面中产生的异常,并存储异常信息到变量中

<c:catch var="msg">  
    <c:redirect url="www.baidu.com"</c:redirect>
</c:catch> 

 fmt标签库是用来格式化输出的,通常需要格式化的有时间和数字

<fmt:formatNumber>格式化时间

<td class="td_3"  align="center"><fmt:formatDate value="${logItem.bookingDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>

<fmt:formatNumber>格式化数字

 <td align="right" class="td_3"><fmt:formatNumber value="${loan.applAmt}" pattern="#,###.##"/></td>





猜你喜欢

转载自blog.csdn.net/weixin_37598682/article/details/79626764
今日推荐