关于EL表达式的一些问题
HTML作为静态资源给浏览器来展示是所有用户都一样的
但是如果想在之中展示数据时,就会变成动态资源.用户访问的结果就不一样一样了.
首先我们将HTML变成JSP之后
就可以在jsp中使用<%%>标签来写java代码。
jsp作为表示层
尽量只负责展示数据的工作。
展示数据的工作用到的代码使用EL表达式来替换完成。
Expression Langage
目的是为了简化展示数据的代码。
语法就是:${表法式}
最后其实都是由浏览器内置的解析引擎来展示页面的
${3 < 4}最后是一个bool值
如果前面加上\
\${3 < 4}
就会原样输出到页面.
EL表达式一般有两个用处
一个是做运算
一个是做获取值的操作
+ - * / % -->输出一个值
< > >= <= == != -->输出一个bool
&& || ! -->输出一个bool
empty -->空
获取值的操作有这样几种
一种是字符串, 一种是对象, 一种是List集合, 一种是Map集合
注意的是
EL表法式只识别运算式和域对象
这里用必要说明的是
设置域对象都是(String “键名”, Object obj)的格式
四种域对象由小到大
pageScope -->pageContext
requestScope -->request
sessionScope -->session
applicationScope -->application(ServletContext)
语法就是:${域名称.键名}
也就是要从指定的域中获取指定的键名,然后整个表达式在页面中就是输出值
字符串就是直接输出${域名称.键名}
对象就是${域名称.键名.对象的属性} //这里本质是调用get方法,有需要时我们会给javabean自己设计一个get方法,称之为逻辑视图.
List集合就是${域名称.键名[索引值]}
Map集合就是${域名称.键名.键}
实际中往往是保证域对象的键名不重复,而采用简化的写法,就是省略域名称.