JSP 表达式语言

JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null。


一个简单的语法
典型的,当您需要在JSP标签中指定一个属性值时,只需要简单地使用字符串即可:
<jsp:setProperty name=“box” property=“perimeter” value=“100”/>
JSP EL允许您指定一个表达式来表示属性值。一个简单的表达式语法如下:
e x p r 其 中 , e x p r 指 的 是 表 达 式 。 在 J S P E L 中 通 用 的 操 作 符 是 &quot; . &quot; 和 &quot; [ ] &quot; 。 这 两 个 操 作 符 允 许 您 通 过 内 嵌 的 J S P 对 象 访 问 各 种 各 样 的 J a v a B e a n 属 性 。 举 例 来 说 , 上 面 的 &lt; j s p : s e t P r o p e r t y &gt; 标 签 可 以 使 用 表 达 式 语 言 改 写 成 如 下 形 式 : &lt; j s p : s e t P r o p e r t y n a m e = &quot; b o x &quot; p r o p e r t y = &quot; p e r i m e t e r &quot; v a l u e = &quot; {expr} 其中,expr指的是表达式。在JSP EL中通用的操作符是&quot;.&quot;和&quot;[]&quot;。这两个操作符允许您通过内嵌的JSP对象访问各种各样的JavaBean属性。 举例来说,上面的&lt;jsp:setProperty&gt;标签可以使用表达式语言改写成如下形式: &lt;jsp:setProperty name=&quot;box&quot; property=&quot;perimeter&quot; value=&quot; exprexprJSPEL".""[]"JSP访JavaBean<jsp:setProperty>使<jsp:setPropertyname="box"property="perimeter"value="{2box.width+2box.height}"/>
当JSP编译器在属性中见到"${}"格式后,它会产生代码来计算这个表达式,并且产生一个替代品来代替表达式的值。
您也可以在标签的模板文本中使用表达式语言。比如jsp:text标签简单地将其主体中的文本插入到JSP输出中:
jsp:text

Hello JSP!

现在,在标签主体中使用表达式,就像这样: Box Perimeter is: ${2*box.width + 2*box.height} 在EL表达式中可以使用圆括号来组织子表达式。比如${(1 + 2) * 3}等于9,但是${1 + (2 * 3)} 等于7。 想要停用对EL表达式的评估的话,需要使用page指令将isELIgnored属性值设为true: <%@ page isELIgnored ="true|false" %> 这样,EL表达式就会被忽略。若设为false,则容器将会计算EL表达式。 EL中的基础操作符 EL表达式支持大部分Java所提供的算术和逻辑操作符:

操作符 描述
. 访问一个Bean属性或者一个映射条目
[] 访问一个数组或者链表的元素
( ) 组织一个子表达式以改变优先级

  • 减或负

  • / or div 除
    % or mod 取模
    == or eq 测试是否相等
    != or ne 测试是否不等
    < or lt 测试是否小于

or gt 测试是否大于
<= or le 测试是否小于等于
= or gt 测试是否大于等于
&& or and 测试逻辑与
|| or or 测试逻辑或
! or not 测试取反
empty 测试是否空值

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值