操作符 | 功能和作用 |
. | 访问一个bean属性或者Map entry |
[] | 访问一个数组或者链表元素 |
() | 对子表达式分组,用来改变赋值顺序 |
? : | 条件语句,比如:条件 ? ifTrue : ifFalse 如果条件为真,表达式值为前者,反之为后者 |
+ | 数学运算符,加操作 |
- | 数学运算符,减操作或者对一个值取反 |
* | 数学运算符,乘操作 |
/ 或 div | 数学运算符,除操作 |
% 或 mod | 数学运算符,模操作(取余) |
== 或 eq | 逻辑运算符,判断符号左右两端是否相等,如果相等返回 true ,否则返回 false |
!= 或 ne | 逻辑运算符,判断符号左右两端是否不相等,如果不相等返回 true ,否则返回 false |
< 或 lt | 逻辑运算符,判断符号左边是否小于右边,如果小于返回 true ,否则返回 false |
> 或 gt | 逻辑运算符,判断符号左边是否大于右边,如果大于返回 true ,否则返回 false |
<= 或 le | 逻辑运算符,判断符号左边是否小于或者等于右边,如果小于或者等于返回 true ,否则返回 false |
>= 或 ge | 逻辑运算符,判断符号左边是否大于或者等于右边,如果大于或者等于返回 true ,否则返回 false |
&& 或 and | 逻辑运算符,与操作赋。如果左右两边同为 true 返回 true ,否则返回 false |
|| 或 or | 逻辑运算符,或操作赋。如果左右两边有任何一边为 true 返回 true ,否则返回 false |
! 或 not | 逻辑运算符,非操作赋。如果对 true 取运算返回 false ,否则返回 true |
empty | 用来对一个空变量值进行判断 : null 、一个空 String 、空数组、 空 Map 、没有条目的 Collection 集合 |
func(args) | 调用方法 , func 是方法名, args 是参数,可以没有,或者有一个、多个参数 . 参数间用逗号隔开 |
常用的jstl方法
(1)格式化日期<fmt:formatDate value="${obj.createTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
(2)循环:<c:forEach items="${list}" var="obj" varStatus="status"></c:forEach>
(3)case条件选择: <c:choose>
<c:when test="${obj.fullTime == null}">
还未满标
</c:when>
<c:otherwise>
<fmt:formatDate value="${obj.fullTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
</c:otherwise>
</c:choose>
(4)if条件判断:<c:if test="${obj.transStatus eq '102'}">充值成功</c:if>
(5)字符串包含:<c:if test="${fn:contains(source, target) }" >checked="true"</c:if>
疑难:
当从后台传到jsp页面的HashMap(String,Object),而要取键值对时的Key为Integer时,不能直接用${map[key]},而要用${map[fn:trim(key)]}