您现在的位置是:主页 > news > 建站网站教程/知道百度
建站网站教程/知道百度
admin2025/5/22 12:14:09【news】
简介建站网站教程,知道百度,深圳网站设计公司在哪里,网站建设程序EL理论:理解:EL表达式是一种独立语言,只要是支持该表达式的都可以用.原理:${javaBean.property}是根据javabean的属性名property来做方法反射后通过公有的get方法来获取属性的值.EL表达式不支持java代码.只能获取放置在作用域通信对象中的数据.(按键取值的方式.)语法:EL的语法简…
建站网站教程,知道百度,深圳网站设计公司在哪里,网站建设程序EL理论:理解:EL表达式是一种独立语言,只要是支持该表达式的都可以用.原理:${javaBean.property}是根据javabean的属性名property来做方法反射后通过公有的get方法来获取属性的值.EL表达式不支持java代码.只能获取放置在作用域通信对象中的数据.(按键取值的方式.)语法:EL的语法简…
3.如
果要在项目中用了el表达式一
定要设置
isELIgnored="false" ,虽然默认的false,但是为了浏览器兼容问题,还是应该手动设置该属性.这是让设置支持el表达式.
4.EL表达式不属于java,不能访问java代码,但是el表达式可以直接访问作用域通信对象(pageContext request session application),且获取值后就立即显示可,无法做到用变量来接受.


②JavaBean对象的属性值获取方式(2种)
(注意不要引号,有引号会直接取到常量)
${bean名.属性名}
${bean名["属性名"]}
③文字常量
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以上的容器.
①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"}正确
+ 是double型为基础的相加:${ "你好" +1 } 或报错,${"1" + "2"}正确
⑤EL中隐式对象: 6个
由于${objectName} 每次都是从最小的作用域通信对象中获取值,如果要指定获取值的作用域通信对象就要用到隐式对象.
(作用域从小到大): pageScope对应java中的pageContext,以此类推.pageContext是指当前页面,跨页面就取不到值了.
EL: pageScope ,requestScope,sessionScope,applicationScope, param, paramValues
Java: pageContext,request, session, application
例子:
${requestScope.objectName} 访问一个request作用域中的对象
${requestScope.objectName.attributeName} 访问一个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 }