EL表达式

EL表达式JSTL不是专属于Struts的,它是由Sun提供的。

el的使用方法:
在页面上写:${hello} 等同于 <%= request.getAttribute("hello");%>

el的隐含对象
el的隐含对象: pageScope、requestScope、sessionScope、applicationScope
如果el表达式没有指定scope,就象上面写的那样,默认先到page里找,找不到就到request里找,还找不到就到session里找,如果还找不到就到application里找。如果都找不到,那就说明这个对象不存在。
上例可以这样写:${requestScope.hello}
这样会之间到request里找。
但一般情况下都省略隐含对象,那样写简单。

存取器“.”的使用

如果要取的值为对象的属性,则用“.”导航,这个“.”称为存取器
如:${user.userName} 、${user.group.name}
如果要取的值为Map里的值,也用“.”。
如:${map.key1} 、${map.key2} .....
如果要取的值为数组里的值,用“[ ]”和下标。
如:第一个值${array[0]} 、第二个值${array[1]} ......
如果要取的值为List里的值,方法同数组一样,用“[ ]”和下标。

EL表达式对运算符的支持

如:1+2 = ${1+2}
显示结果为:1+2 = 3
除法也可以这样写:
10 div 5 = ${10 div 5}
显示结果为:10 div 5 = 2
取余也可以这样写:
11 mod 5 = ${11 mod 5}
显示结果为:11 mod 5 = 1

EL表达式支持的运算符有:

+  —  *   /(div)  %(mod)
  >(gt)  <(lt)  >=(ge)  <=(le)
= =(eq)  !=(ne)
&&(and)  ||(or)  !(not)


empty函数

empty函数格式为:${empty  value1}
作用为判断value1的值是否为空,如果value1不存在,也返回true。
还可以这样用:${!empty  value1} ,得到上式的相反数。

你可能感兴趣的:(struts,sun)