《自定义EL表达式.doc》由会员分享,可在线阅读,更多相关《自定义EL表达式.doc(8页珍藏版)》请在金锄头文库上搜索。
1、EL表达式语言Tip:EL表达式简介EL 全名为Expression Language。EL主要作用:一获取数据:EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域中检索java对象、获取数据。(某个web域中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)EL表达式也可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据,例如:$user.address.city$user.list0:访问有序集合某个位置的元素$map.key : 获得map集合中指定key的值结合JSTL的foreach标签,使用E
2、L表达式也可以很轻松迭代各种类型的数组或集合实例-el表达式可以很方便获取各个域中的属性-$data -el表达式可以很方便获取bean中的数据- $person.name -el表达式可以很方便获取bean中bean中。中的属性- $person.address.city -el表达式可以很方便获取Collection类型集合中的数据-$list1.name $list1.age -el表达式可以很方便获取map类型集合中的数据-$map.bb.name $map11.name $map11.name 二执行运算:利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以
3、在JSP页面中完成一些简单的逻辑运算。$user=null语法:$运算表达式,EL表达式支持如下运算符:empty运算符:检查对象是否为null或“空”,很好用!二元表达式:$user!=null?user.name : “” ,很好用! 和 . 号运算符当发现无法使用.运算符时就用$1+1 $10*365*24*60 $user=null $username=aaa & password=123 -empty运算符可以检测集合、数组是否为空或null-$empty(list) $empty(list1) -二元运算符-$user=null?请先登陆 :user.username -二元运算符
4、用作数据回显- /判断user中的属性是否是需要的然后选中男女三获取web开发常用对象EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。EL表达式语言中定义了11个隐含对象,使用这些隐含对象可以很方便地获取web开发中的一些常见对象,并读取这些对象的数据。语法:$隐式对象名称 :获得对象的引用隐含对象名称 描述pageContext 对应于JSP页面中的pageContext对象(注意:取的是pageContext对象。)pageScope 代表page域中用于保存属性的Map对象requestScope 代表req
5、uest域中用于保存属性的Map对象sessionScope 代表session域中用于保存属性的Map对象applicationScope 代表application域中用于保存属性的Map对象param 表示一个保存了所有请求参数的Map对象paramValues 表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个stringheader 表示一个保存了所有http请求头字段的Map对象headerValues 同上,返回string数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues“Accept-Encoding”coo
6、kie 表示一个保存了所有cookie的Map对象initParam 表示一个保存了所有web应用初始化参数的map对象注意事项测试headerValues时,如果头里面有“-” ,例Accept-Encoding,则要headerValues“Accept-Encoding”测试cookie时,例$cookie.key取的是cookie对象,如访问cookie的名称和值,须$cookie.key.name或$cookie.key.value实例$pageContext.request.contextPath $user -$pageScope.aa $aa $sessionScope.use
7、r!=null -param隐式对象,用于获取请求参数(数据回显)-/http:/localhost:8080/day12/3.jsp?name=aaa&name=bbb$param.name $paramValues.name0 $paramValues.name1 -用于获取请求头的el隐式对象-$header.Accept$headerAccept-Language -用于获取cookie的el隐式对象-$cookie.JSESSIONID.name $cookie.JSESSIONID.value -用于获取web应用初始化参数的el隐式对象-$initParam.xxx 四调用Jav
8、a方法EL表达式语法允许开发人员开发自定义函数,以调用Java类的方法。示例:$prefix:method(params)在EL表达式中调用的只能是Java类的静态方法。这个Java类的静态方法需要在TLD文件中描述,才可以被EL表达式调用。EL自定义函数用于扩展EL表达式的功能,可以让EL表达式完成普通Java程序代码所能完成的功能。Tip:EL Function开发步骤一般来说, EL自定义函数开发与应用包括以下三个步骤:1编写一个Java类的静态方法2编写标签库描述符(tld)文件,在tld文件中描述自定义函数。3在JSP页面中导入和使用自定义函数示例:开发对html标签进行转义的el functionJSP /引入自定义函数$itcast:filter() /filter函数实现转义功能 /el中不支持字符串相加功能,解决方法之后会提到$user=null?请先登陆:itcast:join(欢迎您:,user.username) $itcast:a(11,null,null,0,9) Java函数类public cla