一.MVC模式
1. M:Model,模型。JavaBean
* 完成具体的业务操作,如:查询数据库,封装对象
2. V:View,视图。JSP
* 展示数据
3. C:Controller,控制器。Servlet
* 获取用户的输入
* 调用模型
* 将数据交给视图进行展示
Servlet把数据结果通过域对象传递给jsp,或者直接跳转或者转发到jsp;
二.EL表达式
el表达式作用是:替换和简化jsp页面中java代码的编写,语法为:${表达式}, jsp默认支持el表达式的。如果要忽略el表达式
- 设置jsp中page指令中:isELIgnored="true" 忽略当前jsp页面中所有的el表达式
- \${表达式} :忽略当前这个el表达式
空运算符: empty
- 功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0
- ${empty list}:判断字符串、集合、数组对象是否为null或者长度为0
- ${not empty str}:表示判断字符串、集合、数组对象是否不为null 并且 长度>0
获取值:
el表达式只能从域对象中获取值
-
语法:
1. ${域名称.键名}:从指定域中获取指定键的值
* 域名称:
1. pageScope --> pageContext
2. requestScope --> request
3. sessionScope --> session
4. applicationScope --> application(ServletContext)
* 举例:在request域中存储了name=张三
* 获取:${requestScope.name}
2. ${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。
3. 获取对象、List集合、Map集合的值
对象:${域名称.键名.属性名}
* 本质上会去调用对象的getter方法
List集合:${域名称.键名[索引]}
Map集合:
* ${域名称.键名.key名称}
* ${域名称.键名["key名称"]}
隐式对象:
- * el表达式中有11个隐式对象
- * pageContext:
- * 获取jsp其他八个内置对象
- * ${pageContext.request.contextPath}:动态获取虚拟目录