一、首先须知道EL的相关知识:
1.EL是以${}作为起始的标志,通过.或[]来操作对象的属性,例如${user.name} 或 ${user[name]}都表示user对象的name属性。el操作的对象是request.setAttribute到页面的变量,如果要操作request.getParameter来的参数,需要借助${param.参数名}。
2.EL的运算符不需额外关注,直接把java的拿来用就可。
3.隐含对象常用的:
jsp页面:pageContext
作用范围:pageScope,requestScope,sessionScope,applicationScope
请求参数:param,paramValues
请求头:header,headerValues
初始化参数:initParam
Cookie:cookie
4.关于EL的嵌套:${}是不可以嵌套的,要这样写<c:out value="${list[param.index]}"/>
二、核心标签库的使用
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
1.给变量赋值:
<c:set value="要保存的值" var="要保存到的变量名,以便别处引用" [scope="作用范围"]/>
2.输出:
<c:out value="输出值" [escapeXml="是否要进行特殊字符的转换,取值为true/false"] [default="默认值"]/>
3.if(无else)
<c:if test="条件表达式" [var="用来保存表达式结果的变量名,以便别处引用"] [scope="作用范围"]/>
4.if...else...
<c:choose>
<c:when test="">...</c:when>
<c:when test="">...</c:when>
<c:otherwise>..</c:otherwise>
</c:choose>
5.循环
<c:forEach items="集合名字" var="指代当前迭代变量的名字" varstatus="存放当前成员相关信息的变量,以便后面引用,如.index表当前
迭代变量的索引值," [begin="" end="" step=""] >
...
</c:forEach>
6.url
<c:url value="url值" var="要保存到的变量名,以便别处引用" scope="作用范围" content="">
<c:param name="参数名称" value="参数值"/>
</c:url>
7.其它不常用的
<c:remove/><c:catch/><c:forTokens/><c:import/><c:/redirect>