1 EL概述
1.1 EL的作用
JSP2.0要把html和css分离、要把html和javascript分离、要把Java脚本替换成标签。
1.2 EL的格式
格式:${…}
例如:${1 + 2}
1.3 关闭EL
如果希望整个JSP忽略EL表达式,需要在page指令中指定isELIgnored=”true”。
如果希望忽略某个EL表达式,可以在EL表达式之前添加“\”,例如:\${1 + 2}。
1.4 EL运算符
| 运算符 | 说明 | 范例 | 结果 | 
| + | 加 | ${17+5} | 22 | 
| - | 减 | ${17-5} | 12 | 
| * | 乘 | ${17*5} | 85 | 
| /或p | 除 | ${17/5}或${17 p 5} | 3 | 
| %或mod | 取余 | ${17%5}或${17 mod 5} | 2 | 
| ==或eq | 等于 | ${5==5}或${5 eq 5} | true | 
| !=或ne | 不等于 | ${5!=5}或${5 ne 5} | false | 
| <或lt | 小于 | ${3<5}或${3 lt 5} | true | 
| >或gt | 大于 | ${3>5}或${3 gt 5} | false | 
| <=或le | 小于等于 | ${3<=5}或${3 le 5} | true | 
| >=或ge | 大于等于 | ${3>=5}或${3 ge 5} | false | 
| &&或and | 并且 | ${true&&false}或${true and false} | false | 
| !或not | 非 | ${!true}或${not true} | false | 
| ||或or | 或者 | ${true||false}或${true or false} | true | 
| empty | 是否为空 | ${empty “”},可以判断字符串、数据、集合的长度是否为0,为0返回true。empty还可以与not或!一起使用。${not empty “”} | true | 
1.5 EL不显示null
当EL表达式的值为null时,会在页面上显示空白,即什么都不显示。
2 EL表达式格式
操作List和数组:${list[0]}、${arr[0]};
操作bean的属性:${person.name}、${person[‘name’]},对应person.getName()方法;
操作Map的值:${map.key}、${map[‘key’]},对应map.get(key)。
3 EL内置对象
EL一共11个内置对象,无需创建即可以使用。这11个内置对象中有10个是Map类型的,最后一个是pageContext对象。
pageScope,requestScope, sessionScope,applicationScope,param,paramValues,
header, headerValues, initParam, cookie, pageContext;
3.1 域相关内置对象(重点)
域内置对象一共有四个:
pageScope:${pageScope.name}等同与pageContext.getAttribute(“name”);
requestScope:${requestScope.name}等同与request.getAttribute(“name”);
sessionScoep: ${sessionScope.name}等同与session.getAttribute(“name”);
applicationScope:${applicationScope.name}等同与application.getAttribute(“name”);
如果在域中保存的是JavaBean对象,那么可以使用EL来访问JavaBean属性。因为EL只做读取操作,所以JavaBean一定要提供get方法,而set方法没有要求。
全域查找:${person}表示依次在pageScope、requesScopet、sessionScope、appliationScope四个域中查找名字为person的属性。
注意,在使用EL获取参数时,如果参数不存在,返回的是空字符串,而不是null。这一点与使用request.getParameter()方法是不同的。



 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                