2010-01-18_实习日记_天天更新
《今天收获:巩固JSP基础知识》
今天迎来了实习的第一次眼力活(即体力活)虽是眼力活,但也非全是,因为不知道为什么,我竟然用到脑了。今天的工作内容即是把ERP(进销存)系统jsp项目的<%if……………%>纯java代码转换成JSTL和EL等(名词解释:JSTL即Jsp Standard Tag Libraly,JSP标准标记库 & EL即Expression language,表达式语言――关于它们实现jsp页面的优势,请文章后面_PS_1)
/**About EL Example
*讲解相关EL的感想
*虽不全,但也得体
*/
<%=object.param%>.equals(<bean:write name=”object” property=”name”/>)这是会return true的。
按头的意思即是把这两种模式改成如下的EL模式:
${object.param}
瞧!是不是帅多了!写到这里,不知道,你有没有想起EL是有两种运算符来存取数据。
即是 . 和 [] ,Example如下
1、${object.param}
2、${object[“param”]}
Problem 1 :
知识到了这里,不知道你有没有想过EL为什么要提供两种不同的运算符来存取数据呢?它们有什么区别?分别在什么时候使用?(你没有交学费,我就不解释了,自己G&B吧!我的顾虑:我是怕你在我这里看到了按我的理解的答案,而不整理成自己的理解答案,这样的学习不是真正的理解,只有自己上WWW,理解不同的答案,整合成自己的答案,方为上解!不知道你同意我的看法吗?if(同意){up me};else{Please绕道} )
Problem 2 :
${sessionScope.param}和<%=session.getAttribute(“param”)%>是相同的
看到上面的sessionScope,知道它是什么吗?EL的sessionScope和JSP的session是一样的意思,都是各自的内置对象!既然有了sessionScope内置对象,那么EL有几个内置对象?
Problem 3 :
EL在没有指定范围时,如${param},这种模式下,Comp是如何取值的?
Problem 4:
我有一个邪恶的想法,我想在JSP页面上禁止EL表达,怎么实现?
Problem 4:
讲到了这里,EL就只有我讲的这些应用吗?非也!其它的应用如
${6>5} return true
$(1+1) 2
${‘zithan’ == ‘zithan’} return true
${‘zithan’ eq ‘xiaoqiang’} return false
${empty username} return true or false
……
很多的应用,我这里就一一介绍了,还是那自己G&B吧!
今天的EL就到这里,明天继续JSTL……
PS_1
JSTL和EL开发JSP页面的优势:http://developer.51cto.com/art/200901/107110.htm