1.关于EL表达式的运算我不想多想,直接上例子吧....
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv=" pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> </head> <body> <h1>empty 运算符:判断一个对象是否为null或者字符串是否为空或集合是否为空或域中是否没有任何属性</h1><hr> <% String str="aaa"; pageContext.setAttribute("str", str); List list=new ArrayList(); list.add("你好"); pageContext.setAttribute("list", list); %> ${empty str } ${empty list } ${empty pageContext } <h1>三元运算符</h1><hr> ${9<8? "yes" : "no"} <h1>逻辑运算符</h1><hr> ${not(3>2 and 5<9 or 10<3) } <h1>比较运算符</h1><hr> ${1eq 1 } ${3ge 1 } ${8le 9 } ${9 gt 5 } <h1>算数运算:如果有非数字参与运算,EL会把非数字转化为数字</h1> ${1+1 } ${1+"2" } </body> </html>
结果:
2.EL之11个内置对象。
大家一定不要和jsp的9大内置对象相混淆,jsp的9大内置对象是域对象,而EL的11个内置对象是对应的map.即时一个集合。
获取常用开发对象:el中内置了11个内置对象,这些对象el内置的,不需要提前定义就可以直接在el中使用
!pageContext -- 有了它可以很方便的获取jsp页面中的9大隐式对象
!pageScope -- page域中属性组成的Map
!requestScope -- request域中属性组成的Map
!sessionScope -- session域中属性组成的Map
!applicationScope --application域中属性组成的Map
!param -- 所有请求参数组成的Map<String,String>
paramValues -- 所有请求参数组成的Map<String,String[]>
header -- 所有请求头组成的Map<String,String>
headerValues -- 所有请求头组成的Map<String,String[]>
!cookie -- 所有cookie信息组成的Map<String,Cookie>
initParam -- 所有web应用的初始化参数组成Map
案例:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv=" pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> </head> <body> <% pageContext.setAttribute("name", "李卫康"); request.setAttribute("name", "韩玮"); %> ${pageScope.name } ${requestScope.name } ${param.name } ${initParam.name } </body> </html>
运行结果:
时间: 2024-12-06 13:10:46