1.流程处理标签
(1)<c:if>
<c:if test="${param.name == 'momor' && param.password == '1234'}">
<h1>${param.name}登陆成功</h1>
</c:if>
如果test为true 那么执行里头的内容,若果test为false,那么不执行
(2)<c:choose>,<c:when>,<c:otherwise>
这里没有<c:else>
只能用<c:choose>,<c:when>,<c:otherwise>
代替
<c:choose>
<c:when test="${user.valid}">
<h1>
<jsp:getProperty name="user" property="name"/>登陆成功
</h1>
</c:when>
<c:otherwise>
<h1>登录失败</h1>
</c:otherwise>
</c:choose>
<c:choose>
里可以有多个<c:when>
,如果<c:when>
中test为true那么后面的<c:when>
就不在往下进行了。when中所有测试不成立,那么就会输出otherwise的内容。
(3)<c:forEach>
<c:forEach var="message" items="${messageService.messages}">
<tr>
<td>${message.name}</td>
<td>${message.text}</td>
</tr>
</c:forEach>
<c:forEach>
item属性可以是数组,Collection,Iterator,Enumeration,Map与字符串。每次会依序从items指定的对象中取出一个元素,并制定给var属性设置的变量
//Map
<c:forEach var="item" items="${someMap}">
<tr>
<td>Key:${item.key}</td>
<td>Value:${item.value}</td>
</tr>
</c:forEach>
//字符串 会显示"JAVA" "C++" "C" "JAVASCRIPT"四个字符串
<c:forEach var="item" delims=","items="JAVA,C++,C,JAVASCRIPT">
<tr>
<td>${item}</td>
</tr>
</c:forEach>
//delims不写则默认是以 , 分割
//delims=":" 是以 : 来分割
(4)<c:catch>
<c:catch var="error">
${param.a} + ${param.b} = ${param.a + param.b}
</c:catch>
<c:if test="${error != null}">
<br>
<span style="color: aqua">${error.message}</span>
<br>${error}
</c:if>
<c:catch>
用来捕获异常.若异常发生,会将异常对象设置给var属性所指定的名称。
(5)<c:import>
<c:import url="add.jsp">
<c:param name="a" value="1"/>
<c:param name="b" value="2"/>
</c:import>
<jsp:include>
的加强版,动态导入另一个网页。
<c:import url="http://openhome.cc" charEncoding="UTF-8">
//charEncoding属性用来制定要导入的网页的编码
(6)<c:redirect>
<c:redirect url="add.jsp">
<c:param name="a" value="1"/>
<c:param name="b" value="2"/>
</c:redirect>
重定向,使用了HttpServletResponse的sendRedirect()方法。
如果重定向需要参数,那么可以通过<c:param>
来进行设置。
(6)<c:url>
<c:url>
相当于response的encodeURL()方法(URL重写)
//计数递增程序counter.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="count" value="${sessionScope.count+1}" scope="session"/>
<html>
<head>
<title>计数程序</title>
</head>
<body>
<h1>JSP count ${sessionScope.count}</h1>
<a href="<c:url value="counter.jsp"/>">递增</a>
</body>
</html>
//如果需要在URL后头带参数
<c:url value="some.jsp">
<c:parame name="a" value="22">
</c:url>
2.XML标签库
1.和核心库像类似有<x:if> <x:forEach> <x:choose> <x:when> <x:otherwise>
等标签
(1)<x:prase>
解析文件来源可以是字符串或Reader对象
<c:import url="book.xml" var="xml" charEncoding="UTF-8"/>
<x:parse var="bookmarks" doc="${xml}"/>
(2)<x:out>
获取xml文件中某些信息并输出。
<td><x:out select="$bookmark/title"/></td>