JSP表达式语言

  • El表达式中是 用大括号起,而且前面有一个$前缀:${expression}.
  • 表达式中第一个命名变量要么是一个隐式对象,要么是 某个作用域
  • 点号操作允许你使用一个MAP键或者一个bean性质名来访问值,在此,bar是mapfoo的Map键名,或者是bean foo的 一个性质。放在点号操作符右边的东西必遵循Java的表示符命名规则!
  • 点号 右边只能放合法的java标识符。列如,${foo.1}就不可。
  • []操作符比点号功能更强大, 因为利用[]可以访问数组和List,可以把包含命名变量的表达式放在中括号里,而且可以做任意层次的嵌套,只要你受得了。
  • 如果musicList是一个ArrayList,可以用${musicList[0]}或${musicList["0"]}来访问列表中的第一个值。EL并不关心列表索引加不加引号。
  • 如果中括号里的内容没有用引号引起来,容器就会进行计算。如果确实放在引号里,而且不是一个数组或list的索引,容器就会把它看作是性质或键的直接量名
  • 除了一个EL隐式对象(PageContext)外,其他EL隐式对象都是Map。从这些Map隐式对象可以得到任意4个作用域中的属性,请求参数值,首部值,cookie值和上下文初始化参数。非映射的隐式对象是pageContext,它是PageContext对象一个引用。
  • 不要把隐式EL作用域对象与属性所绑定的对象混淆。换句话说不要把requestScope隐式对象与具体的JSP隐式对象request混淆。访问请求对象只有一条路,这就是通过pageContext隐式对象来访问
  • EL允许你调用一个普通java类中的公共静态方法。函数名不一定与具体的方法名匹配!例如,${foo:rollIt()}并不意味着包含函数的类中肯定有一个名为rollIt()的 方法。
  • 使用一个TLD将函数名(例如rollIt())映射到 一个具体的静态方法。使用<function>元素声明一个函数,包括函数的<name>(rollIt()),完全限定类<function-class>以及<function-signature>,其中包括返回类型以及方法名和参数表
  • 要在JSP中使用函数,必须使用taglib指令声明一个命名空间。在taglib指令中放一个prefix属性,告诉容器你要的函数在TLD里能找到。例如:<%@ taglib prefix=“mine” uri="/WEB-INF/foo.tld" %>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值