介绍
- 目的:为了使jsp中数据访问更加简单
- 作用域:可以取出域对象(pageContext、request、session、application)中保存的数据,前提需要域对象先 setAttribute(key,value),然后EL表达式相当于替代了getAttribute(key,value)
- 语法:
${变量名},变量名是域对象存的数据的key值
规则
- 只能在jsp页面内使用
- 默认查找顺序:如果四个域对象中存储了相同的变量名,那么
${变量名}默认取出的是最小作用域的域对象的数据(搜索顺序为:pageContext > request > session > application) - 指定作用域查找:
${pageScope.xxxname}
${requstScope.xxxname}
${sessionScope.xxxname}
${applicationScope.xxxname}
- EL表达式可以操作对象,读值赋值
有一个User对象,包括name、id属性,
${User.name} //相当于调User的get方法得到name,记住这里并不是直接读取变量,而是getName()方法,是和方法绑定而不是成员变量绑定
${User.name=“julian”} // 相当于调User的set方法赋值name,但实际不会用,EL表达式主要用来读取数据
${User["name"]} //这样等价于第一种写法,也是可以取出来
- EL表达式内可以解析操作符
&& || ! < > <= >= == !=,等价于单词and or not lt gt le ge eq ne,使用时单词前后加空格。
可以用单词empty判断变量是否为空(标准:变量为null、字符串长度为0、集合的size为0等)
<%
pageContext.setAttribute("num1", 10);
pageContext.setAttribute("num2", 9);
%>
${num1 > num2} // 返回true
${num1 gt num2} //等价于上面,返回true
${empty num3} // 返回true
${not empty num3} // 返回false
本文介绍了JSP中的EL表达式,其简化了数据访问过程。EL表达式能够从pageContext、request、session及application中获取数据,并支持指定作用域查找。此外,文章还详细解释了EL表达式的语法、操作符及其在对象操作中的应用。
759

被折叠的 条评论
为什么被折叠?



