JSP标签、JSTL标签、EL表达式
JSP中使用JSTL标签或者EL表达式需要导包:
<!-- JSTL表达式依赖-->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<!-- standard标签库-->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
JSP标签:
请求转发并携带参数:
<%--jsp标签--%>
<%--请求转发--%>
<jsp:forward page="path">
<%-- 转发的时候可以携带参数,和往request中存值是一样的--%>
<jsp:param name="name" value="kangzhu"/>
<jsp:param name="age" value="18"/>
</jsp:forward>
从转发页面取出参数:
<%--取出参数,我们从request对象中取出数据--%>
<%=request.getParameter("name")%>
<%=request.getParameter("age")%>
<%--这里不用EL表达式,因为EL表达式得不到request对象--%>
JSTL标签:
JSTL标签库的使用就是为了弥补HTML标签的不足;它自定义了许多标签,可以供我们使用,标签的功能和Java代码一样(原生JSP标签不足)
-
核心标签(掌握部分)
-
格式化标签(了解)
-
SQL标签(了解)
-
XML标签(了解)
-
使用步骤
-
引入对应的taglib
<%--引入JSTL核心标签库,我们才能使用JSTL标签--%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-
if语句
<%--var用来接收test的返回值--%> <c:if test="${param.username}=='admin'" var="isAdmin"> <c:out value="welcome"></c:out> </c:if>
-
定义一个变量
<%--定义一个变量--%> <c:set var="score" value="85"></c:set>
-
选择(从上向下进行判断,类似于else if)
<%--选择--%> <c:choose> <c:when test="${score>=90}"> excellent </c:when> <c:when test="${score>=80}"> good </c:when> <c:when test="${score>=70}"> normal </c:when> </c:choose>
-
EL表达式:
-
获取数据
${score}
-
执行运算
${score>90}
-
获取web开发的常用对象
${pageContext}