您现在的位置是:主页 > news > 建站网站教程/知道百度

建站网站教程/知道百度

admin2025/5/22 12:14:09news

简介建站网站教程,知道百度,深圳网站设计公司在哪里,网站建设程序EL理论:理解:EL表达式是一种独立语言,只要是支持该表达式的都可以用.原理:${javaBean.property}是根据javabean的属性名property来做方法反射后通过公有的get方法来获取属性的值.EL表达式不支持java代码.只能获取放置在作用域通信对象中的数据.(按键取值的方式.)语法:EL的语法简…

建站网站教程,知道百度,深圳网站设计公司在哪里,网站建设程序EL理论:理解:EL表达式是一种独立语言,只要是支持该表达式的都可以用.原理:${javaBean.property}是根据javabean的属性名property来做方法反射后通过公有的get方法来获取属性的值.EL表达式不支持java代码.只能获取放置在作用域通信对象中的数据.(按键取值的方式.)语法:EL的语法简…
EL理论:
理解:EL表达式是一种独立语言,只要是支持该表达式的都可以用.

原理:
${javaBean.property}
是根据javabean的属性名property来做方法反射后通过公有的get方法来获取属性的值.
EL表达式不支持java代码.只能获取放置在作用域通信对象中的数据.(按键取值的方式.)

语法:
EL的语法简单,使用方便.所有的EL表达式都是以”${”开始,以”}”结束    ${ }
EL表达式用于静态文本时,其值在运行时被计算出来,被计算值替换.         先计算出值,再替换
EL表达式用于标签和自定义属性标签:帮助显示网页上的动态内容.    配合标签可是实现网页的动态显示


注意点: 
1.JSP中的EL表达式取值是从4种作用域通信对象(由小到大的取值,取到就返回,没有值就不显示,不是显示为null) pageContext request session  application.

2.有些容器里是默认的支持EL表达式,所以不需要任何其他的配置操作,直接用就行.
比如tomcat 容器2.0以上的容器.

3. 果要在项目中用了el表达式一 定要设置   isELIgnored="false"   ,虽然默认的false,但是为了浏览器兼容问题,还是应该手动设置该属性.这是让设置支持el表达式.

4.EL表达式不属于java,不能访问java代码,但是el表达式可以直接访问作用域通信对象(pageContext request session  application),获取值后就立即显示可,无法做到用变量来接受.


①EL取值顺序
注意:el表达式不属于java,访问不了java代码,但是el表达式可以直接访问作用域通信对象.
解决办法:可以将变量压在作用域通信对象中.然后按键取值.(从作用域中从小作用域取到大)
4种作用域通信对象(由小到大) pageContext request session  application.
如果要获得指定的作用域中的值就要使用EL中的隐式对象:
eg:${requestScope.objectName}      获取requestScope中的objectName对象
例子1

例子2:



 JavaBean对象的属性值获取方式(2种)
             (注意不要引号,有引号会直接取到常量)

             ${bean名.属性名}
            
${bean名["属性名"]} 

③文字常量
文字常量被指定为规定不变的值.
EL表达式支持以下文字常量:
${true}             布尔型
${1314}             整形
${3.14}             浮点型
${"yves"}           字符串型
${null}             null       (取出的值为null时,不会再页面上显示)

④EL表达式的运算符
加减乘除正常用  限数字
     +  是double型为基础的相加:${ "你好" +1 } 或报错,${"1" + "2"}正确

⑤EL中隐式对象:  6个  
由于${objectName} 每次都是从最小的作用域通信对象中获取值,如果要指定获取值的作用域通信对象就要用到隐式对象.
(作用域从小到大):  pageScope对应java中的pageContext,以此类推.pageContext是指当前页面,跨页面就取不到值了.
EL:    pageScope  ,requestScopesessionScopeapplicationScope,   param,  paramValues
Java:  pageContext,request,     session,  application
例子:
${requestScope.objectName}                 访问一个request作用域中的对象
${requestScope.objectName.attributeName}  
 访问一个request作用域中的对象的属性。 

其他隐式对象:
param: 
返回客户端的请求参数的字符串值
         $(param.name)        相当于 request.getParameter (name)。 
paramValues: 
         返回映射至客户端的请求参数的一组值
${paramvalues.name ) 相当于  request.getParamterValues(name)。 
⑥使用时注意点:
1.不管是引用型比较还是原始型的比较都是双等,el表达式中没有equals比较.

2.el中判断某个对象是否为空:
${empty  对象名}      如果对象为空,则返回true
${ 对象名  == null}   效果与上面一致

3.el表达式中对空值的处理为不显示.
${变量名}   当该变量为空,这获取不到数据,但是不显示.

4.禁用EL表达式: 
jsp中page标签设置 isELIgnored="true" 让el表达式变成普通文本.

5.运算符比较
用法和普通的比较用法一样
运算符的比较: ${4 >= 2 }   true 

6.错误的例子
${new java.util.Date()}    不能有java代码
${"hello" +8}              + 运算只能数字加数字,比如{"4"+"8"}
${2++ >= 3}                el中没有++ -- ,可以理解成java代码

正确的例子:
${2+1 }
${"2"+"1"}
${"2" + 1 }