170819-关于EL表达式的知识点

Posted 12344321hh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了170819-关于EL表达式的知识点相关的知识,希望对你有一定的参考价值。

             1 .EL表达式  

                   [1] 简介

                           > JSP表达式 <%= %> 用于向页面中输出一个对象。  

                           > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段。  

                           > 使用EL表达式来代替JSP表达式 ,使用JSTL标签来代替JSP脚本片段。

                           > EL表达式用来向页面输出内容   

                                 getAttribute();//四个域对象都可以使用//作用不是接收请求参数,在使用getAttribute方法之前必须先使用setAttribute()将属性对方法域对象中;返回Object类型!    

                                 getParameter()://仅仅是request使用!用于接收请求参数【url,form表单中】;返回值String类型    

                   [2] 基本语法

                          > ${表达式}  

                          > EL表达式可以从域中获取属性。    

                                    - 使用 ${属性名}    

                                    - 如果只填写一个属性名,EL表达式会自动做全域查找。       

                                    - 所谓的全域查找,就是按照page request session  application四个域范围内分别,找到就返回属性,如果没找到什么都不返还。        

                                    - 我们还可以指定去哪个域查找     pageScope     requestScope     sessionScope     applicationScope     

                                    - 例子:     查找request中属性      ${requestScope.属性名}     查找session中的属性      ${sessionScope.属性名}    

     - 注意:EL表达式只能获取域中的属性     EL表达式不能直接调用对象的方法     

                                    - 通过EL表达式读取对象的属性时,只需要${对象.属性名}     EL表达式会自动调用对象的对应的getter方法,通过将属性名首字母大写,然后加上个get          注意:只要有属性,就可以一直点下去,也就说对象的属性是对象的话,我们也可以通过对象的属性的属性的方式调用!    

     - 当读取一些名字比较特殊的属性时,这种特殊值必须要指定域,例如属性名带-:     ${requestScope[‘属性名‘]}   

                    [3] 隐含对象

                            > EL中一共有11个内置对象。   

                                    - pageContext      类型 PageContext       它和JSP中pageContext是一个东西      作用 可以获取到JSP中其他的隐含对象      例如:可以获取项目名:       ${pageContext.request.contextPath }         

                                    - pageScope      类型:Map<String,Object>      代表:page域中的属性      作用:可以获取到page域中的属性          

                                    - requestScope      类型:Map<String,Object>      代表:request域中的属性      作用:可以获取到request域中的属性        

                                    - sessionScope      类型:Map<String,Object>      代表:session域中的属性      作用:可以获取到session域中的属性     

                                    - applicatScope      类型:Map<String,Object>      代表:application域中的属性      作用:可以获取到application域中的属性           

                                    - param      类型: Map<String , String>      代表:用户发送的请求参数      作用:可以获取请求参数      用法: ${param.参数名}        

                                    - paramValues      类型:Map<String , String[]>      代表:一个请求参数对应的多个值      用法: ${paramValues.参数名[索引]}      

                                    - header      作用:可以获取到用户发送的请求头      类型:Map<String , String>      例如:获取用户的系统信息 ${header[‘User-Agent‘]}          ?

                                    - headerValues      类型: Map<String , String[]>      作用:可以获取一个头的多个值        ?

                                    - initParam;      类型:Map<String , String>      作用:获取整个WEB应用的初始化参数        ?

                                    - cookie      类型:Map<String , Cookie>      作用:用来获取Cookie

                     [4] 运算  

                               > 在EL中可以直接使用运算符进行运算。    

                               > 在EL中可以使用Empty元素符:    如果值为null , empty则返回 true    如果为空串, 则返回 true    空的集合    返回true

                               > 所以empty元素符经常用来判断集合或者字符串是否为空

 

以上是关于170819-关于EL表达式的知识点的主要内容,如果未能解决你的问题,请参考以下文章

关于Springboot项目中EL表达式解析工具类的实现

EL表达式基础知识

关于jsp中无法使用el表达式以及无法通过绝对路径找到文件的问题

JavaWeb关于EL表达式及requestScope和param的区别

EL表达式的一些知识

第五条知识点