JSTL使用经验累计

最近接触到一些JSTL相关的,查阅了一些资料,备用,文章出处:http://blog.sina.com.cn/s/blog_66f4baca0100jakw.html

 

1.如果要显示的时间是String类型的,则得先将它转换成Date类型,在对Date类型的时间进行格式化,

  因为JSTL只能对Date类型格式化,如果是其它类型就会出错.

  建意:时间在数据库里以Date类型保存,而不要以String类型保存.

  如下处理:

  //先将String类型解析成Date类型,在对Date类型的数据进行格式化

  <fmt:parseDate value="${sourceInfo.suploadtime}" var="date" pattern="yyyy-MM-dd HH:mm"/>
  <fmt:formatDate value="${date}" pattern= "yyyy-MM-dd HH:mm"/>

 

2.计算两个参数的余数

<c:set value="${sourceInfo.supnum mod sourceInfo.sconcernnum}" var="scoresS" />
 

3.简单循环并显示数据

<c:forEach var="i" begin="1" end="${scoresS}" step="1">
  <img src="<%=basePath%>/images/detail_r6_star1.gif"/>

</c:forEach>

 

4.if else的JSTL写法

<c:choose>
  <c:when test="${sourceInfo.sconcernnum > 0}">
    <c:set value="${sourceInfo.supnum mod sourceInfo.sconcernnum}" var="scoresS" />
    <c:forEach var="i" begin="1" end="${scoresS}" step="1">
      <img src="<%=basePath%>/images/detail_r6_star1.gif"/>        
    </c:forEach>
      <font color="#FF6600"><b> ${scoresS }分</b></font>
  </c:when>
  <c:otherwise>
    <font color="#FF6600"><b> 0分</b></font>
  </c:otherwise>
</c:choose>

 

5.设置一个变量

 <c:set value="${sourceInfo.supnum mod sourceInfo.sconcernnum}" var="scoresS" />

 

6.如何使用jstl判断集合是否为空

empty( 空串即""、不存在、没有值、 null 等多会被认为是空的 )
${user}为集合,user为集合名
<c:if test="${empty user}">无信息!</c:if>为空
<c:if test="${!empty user}">其它</c:if>非空

 

7.格式化数据
fmt:fomatNumber 格式化数字):<fmt:formatNumber value="${n}"/> 
指定格式:

  小数点后没加零 n(pattern="###,###.####"):

    <fmt:formatNumber value="${n}" pattern="###,###.####"/>
  小数点后会补零 n(pattern="###,###.0000"):

    <fmt:formatNumber value="${n}" pattern="###,###.0000"/> 
  最大整数位和最小整数位 n(maxIntegerDigits="10" minIntegerDigits="9"):

    <fmt:formatNumber value="${n}" maxIntegerDigits="10" minIntegerDigits="9"/>

  最大小数点后位数和最小小数点后位数 n(maxFractionDigits="8" minFractionDigits="4"):

    <fmt:formatNumber value="${n}" maxFractionDigits="8" minFractionDigits="4"/>

 

用c:forEach 中vaStatus的属性可以获得迭代的自身状态,如:
<c:forEach var="" items="" varStatus="status">
<c:out value="${status.index}"/> 此次迭代的索引
<c:out value="${status.count}"/> 已经迭代的数量
<c:out value="${status.first}"/> 是否是第一个迭代对象
<c:out value="${status.last}"/>  是否是最后一个迭代对象
</c:forEach

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值