EL是什么?
EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。(百度百科)
EL表达式作用:向浏览器输出域对象的变量或表达式计算的结果。
语法格式:${变量或表达式}(代替jsp的<%=request.getAttribute(key)%>)
EL从四个域对象获取某个值:
page:${pageScope.key}
request:${requestScope.key}
session:${sessionScope.key}
application:${application.key}
注:依次从上到下获取某值,找到后就不再往后找
还可以用${pageContext.request.contextPath}代替<%=request.getContextPath()%>
#######################################################################
JSTL是什么?
JSTL(Java server pages standarded tag library,即JSP标准标签库)是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。(百度百科)
首先,要用jstl需要在WEB-INF下的lib里面加jar包,如图:
在<html>上加上:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
(1)设置值:
<c:set var="age" value="20" scope="request"></c:set>
${age}<br/><%--显示--%>
(2)单条件判断:
<%--单条件判断--%>
<c:if test="${age==20}">
今年20岁<br/>
</c:if>
<c:if test="${age!=20}">
今年不是20岁了<br/>
(3)多条件判断:
<%--多条件判断--%>
<%--不写scope为request的话,默认为page--%>
<c:set var="score" value="90" scope="request"></c:set>
<c:choose>
<c:when test="${score>=90 && score<=100}">
优秀
</c:when>
<c:when test="${score>=80 && score<90}">
良好
</c:when>
<c:when test="${score>=70 && score<80}">
一般
</c:when>
<c:when test="${score>=60 && score<70}">
及格
</c:when>
<c:otherwise>
不及格
</c:otherwise>
</c:choose><br/>
(4)for循环:
<c:forEach begin="0" end="5" var="i">
${i}<br/>
</c:forEach>