熬之滴水穿石:JSP--HTML中的JAVA代码(3)

                                                                   36--EL表达式(1)
EL表达式,可以说是为了脚本而出来的。实际上脚本还是在WEB开发上起着非常决定的作用。EL其实就是在JSP规范2.0的基础上,把EL表达式代替原先scriptlet和表达式完成的事情。EL表达式提供一种更简单的方法来调用Java代码,这些代码可能是一个普通的java类,或是javabean等。EL表达式形式是一个美元符然后接两个大括号。其实我一直觉得EL表达式其实并不是一个很好的解决方法,无非就是用一套新的规范去实现。也许对于非专业的人上手还快。我一直认为EL表达式是比较适合Web前段设计的人。其实EL表达式在JAVA程序员的眼里应该是狗尾续貂的味道,当然这只是我个人的观点。但EL表达式的用途还是很广的,像我们在做电子商务网站时用velocity,这个东东用的语法就是EL的表达式。

还记得在JSP禁止写scripte的设置吗?在部署文件web.xml中用<scripting-invalid>标记来禁止语言。所以事出有因,EL表达式的出现就是规范JSP,让脚本语言尽量少出现在Web页面中。相比对于script的设置,El表达式在部署文件中也有开关的标志。EL中隐式变量:pageScope,requestScope,sessionScope,applicationScope;param和paramValues;header和headerValues;cookies;initParam。这里又有一个术语冒出来:标准动作。标准动作就是在JSP范畴内规划定义的一些Action。容器会根据这些规范而实现自己要做的事情,简单的介绍一下吧!操作JavaBean的共有3个:<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>。用于 Document共6个: <jsp:root>, <jsp:declaration>, <jsp:scriptlet>, <jsp:expression>, <jsp:text>, <jsp:output>。在05年时我们使用的已经JSP2.0的标准,在之前的标准还有 <jsp:include>, <jsp:forward>, <jsp:param>, <jsp:plugin>, <jsp:params>, <jsp:fallback>共6个,还有一些就不在这里作介绍了。所有的这些动作,特别是bean有括号里的参数,会在_jspService()方法里生成相应的代码。Servlet就如同一个桥梁,将jsp的标准动作和自己做的事情巧妙的联系起来。要注意区分type和class:type是表示引用类型,class是表示对象类型。

你也许有疑问了,说EL表达式怎么扯上JSP的标准动作了。正是因为EL表达式的存在让代码很能迅速轻松的实现打印的性质。eg:${对象.属性}用这种方式就可以直接将属性显示出来,而不需要用脚本的方式像<%=>里面有好几个点方法一样。这样的EL表达式,看上去很像是JAVA。表达式中第一个命名变量可以是隐性对象,也可以是一个属性。在语法的构成上,点号右边是一个映射键当然也可以是一个bean属性。左边的变量一般是MAP,或者是一个bean.像我们知道的pageContext其实就是一个bean。还有一种写法,不用点好写个中括号。eg:${A["xxx"]},其实这种写法相当于就是A.xxx了。

EL 表达式一个章节估计是讲不完的,所以要多分几个章节来讲...........
                                                                             (未完待续..........)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值