一、JSTL标签
1.什么是jstl
JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已!
2.JSTL一共包含四大标签库:
- core:核心标签库,我们学习的重点;
- fmt:格式化标签库,只需要学习两个标签即可;
- sql:数据库标签库,不需要学习了,它过时了;
- xml:xml标签库,不需要学习了,它过时了。
3.导入标签
除了JSP动作标签外,使用其他第三方的标签库都需要:
- 导包;
- 在使用标签的JSP页面中使用taglib指令导入标签库;
4.标签详解
https://www.runoob.com/jsp/jsp-jstl.html
其中常用的应该是 <c:url value=''/>
及<c:choose><c:when 条件></c:when><c:otherwise></c:otherwise></c:choose>
二、EL表达式
1.什么是el表达式
EL 全名为Expression Language。EL主要作用:
1、获取数据
EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
2、执行运算
利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。${user==null}
3、获取web开发常用对象
EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
4、调用Java方法
EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。
2.获取数据
EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。
优先级:pageContext->request->session->application
EL表达式可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据
${标识符}
3.执行运算
4.获得web常用开发对象