El表达式
Expression Language:表达式语言, jsp2.0之后内置在jsp里面
EL表达式的作用就是为了能够简单快捷的在jsp页面上,获取到在Servlet里面存放到作用域里面的值
目的:为了使JSP写起来更加简单, 取值(取的域对象里面存的值)更加简单。(代替脚本 <% %>)
获取简单数据类型数据
语法:${requestScope|sessionScope|applicationScope.属性名};
快捷写法: ${属性名}, 属性名就是存在域对象里面的key
获取数组
语法: ${key[下标]} key就是域对象里面存的key
获取list
语法:{list属性名[index]}或者{list属性名.get(index)};list属性名就是存入域对象里面的key
获取Map
语法:{map属性名.键}或者{map属性名.get(“键”)},map属性名就是存入域对象里面的key
获取bean
语法:${作用域里面的名字.javabean属性}
需要给javabean提供getXXX方法 ,因为el表达式获取bean对象的属性依赖getxxx()方法
注意事项
[ ]和.方式的区别: 有特殊字符的要用[ ]
获取的是三个域范围的值,存入三个域中 request | sesison | servletcontext
能获取到则获取,获取不到返回" "字符串 ,不是返回null
如果存放了一个Javabean对象,但是在取值的时候,取到了 javabean没有的属性会报错
${域中属性名}:依次从requestScope|sessionScope|applicationScope中查找指定的属性
若找到,立即返回,且结束该次查找
若找不到返回""
若属性名中出现了".""+""-"等特殊的符号的时候,快捷获取的方式不好使,必须使用以下方式:
${xxxScope["属性名"]}