目录
EL表达式
什么是EL表达式
- EL(Express Lanuage)表达式可以嵌入在jsp页面内部
- 减少jsp脚本的编写
- EL出现的目的是要替代jsp页面中脚本的编写。
作用
EL最主要的作用是获得四大域中的数据
从四大域当中取数据
pageContext
${pageScope.key}
request
${requestScope.key}
session
${sessionScope.key}
application
${applicationScope.key}
简写
${EL表达式}
EL从四个域中获得某个值${key}
依次从pageContext域,request域,session域,application域中获取属性
在某个域中获取后将不在向后寻找
EL内置11对象
pageScope
获取JSP中pageScope域中的数据
requestScope
获取JSP中requestScope域中的数据
sessionScope
获取JSP中sessionScope域中的数据
applicationScope
获取JSP中applicationScope域中的数据
param
request.getParameter()
paramValues
rquest.getParameterValues()
header
request.getHeader(name)
headerValues
request.getHeaderValues()
initParam
this.getServletContext().getInitParameter(name)
cookie
request.getCookies()---cookie.getName()---cookie.getValue()
pageContext
pageContext获得其他八大对象
获取当前项目的名称
${pageContext.request.contextPath}
EL执行表达式
- 内部可以进行运算,只要有结果
- ${1+1}
- ${empty user} 判断user是否为空?为空返回true,不为空则返回false
- ${user==null?true:false}
JSTL
什么是JSTL
- JSTL(JSP Standard Tag Library),JSP标准标签库
- 可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能
- jstl出现的目的同el一样也是要代替jsp页面中的脚本代码
JSTL标准标签库有5个子库
Core :核心库
http://java.sun.com/jsp/jstl/core
前缀:c
I18N:国际化库
http://java.sun.com/jsp/jstl/fmt
前缀:fmt
SQL
http://java.sun.com/jsp/jstl/sql
前缀:sql
XML
http://java.sun.com/jsp/jstl/xml
前缀:x
Functions
http://java.sun.com/jsp/jstl/functions
前缀:fn
把JSTL标签库jar包引入工程当中
引入标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
if标签
<c:if test="${1==1 }">满足条件时,中间的内容才会显示出来</c:if>
通过是结合EL表达式一起使用,EL从域中取数据,使用JSTL进行判断或者遍历
if标签使用
1.登录成功时,把用户写到session域当中
2.在首页当中进行判断,从session域当中取数据
3.通过EL结合JSTL进行判断
foreach标签
第一种:普通循环
第二种:增加for循环
遍历字符串集合
遍历对象集合
遍历map
商品列表展示
JavaEE开发模式
什么是开发模式
模式在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式
JavaEE模式
model1模式
由 jsp+javaBean 技术组成
弊端
业务多时,导致jsp页面容易混乱
model2模式
由 jsp+servlet+javaBean 技术组成
优点
开发中使用各个技术擅长的方面
servlet擅长java的业务代码
jsp擅长页面的展示
MVC
Model--javaBean--封装数据
View--JSP--页面展示
Controller--servlet--获取数据,对数据进行封装,传递数据、指定页面显示
三层架构
web层--与客户端交互
service层--复杂业务逻辑
dao层--与数据库进行交互