el表达式:
替换jsp中的java代码/脚本表达式,因为jsp的get方法只能访问属性,不能访问对象,可以从各个域中找到java对象(javabean对象,list集合,map集合,数组)
可以在el表达式中进行一些简单运算(算数运算、关系运算、逻辑运算)
el表达式在执行内容的时候,会调用pageContext.findAttribute(xxx);,分别page,request,session,application域获取内容,找到就返回当前对象,找不到就返回空字符串,不是null
//表达式放在大括号里,前面有一个美元符前缀
${a.b}
//替换脚本表达式,可以直接输出
${name}
隐式变量名 | 作用 |
---|---|
pageContext | 用来访问jsp的隐式对象 |
作用域 | pageScope / requestScope / sessionScope / applicationScope |
请求参数 | param / paramValues |
请求头 | header / headerValues |
cookie | cookie
JSTL:标准标记库
jstl是为了弥补html不足,使用jstl标签目的就是为了消除网页上的java逻辑代码,主要研究核心库
主要表达标签:out、set、remove、catch
流程控制标签:if、choose、when、otherwise
循环标签:forEach、forTokens(针对字符串)
url标签:import、url、redirect、param
导入
<%@ taglib prefix="c" uri="httpL//java.sun.com/jsp/jstl/core" %>
out:输出数据
<c:out value="$(值)" default="默认">默认</c:out>
set:用于把一个对象存放在指定的域范围内
<c:set var="要设置属性名字" value="属性值" scope="属性要存放的域中" ></c:set>
<c:set target="操作指定的某一个属性,只能是javabean或map" property="属性名" value="属性值"></c:cet>
remove:主要用来从指定的域里面移除内容
<c:remove var="属性名" scope="域"><c:remove>
catch:捕获jsp里面的异常信息
<c:catch var="保存的错误信息"></c:catch>
if:实现条件的控制
<c:if test="判断条件" var="结果/boolEAN类型"></c:if>
choose——when——therwise: = if——else判断
<c:choose>
<c:when> else-if </c:when>
...
<c:therwise> 默认 </c:therwise>
</c:choose>
forEach:= for-循环
<c:forEach items="要遍历的对象" var="当前循环中的结果" begin="开始的位置" end="结束的位置" step=“每次循环的步长” varStatus=“当前循环获取到的对象的状态”></c:forEach>
forTokens:针对字符串的循环
<c:forTokens items="" ></c:forTokens>
import:将其他静态或动态的内容引入到jsp页面,import可以从其他web应用程序获取资源
只能用本工程。
<c:import url="地址"></c:import>
url:标签可以在jsp页面里面构造一个新的地址,达到url重写
<c:url value="地址" var=""></c:url>
param:构造参数
<c:param name="" value=""></c:param>
redirect:重定向标签
<c:redirect url=""></c:redirect>