choose、when和otherwise
这些标签一般是组合起来一起使用的,就相当于 Java 程序中的 switch 条件语句。
在<c:choose>标签体中包括<c:when>和<c:otherwise>子标签。<c:when>子标签代表<c:choose>的一个条件分支。
使用很简单,案例如下:
<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head><title>c:choose使用示例</title></head>
<body>
<% pageContext.setAttribute("num",15) ; %>
<c:choose>
<c:when test="${num<=10}">内容是小于等于10!</c:when>
<c:when test="${num>10 and num<=20}">内容是11-20!</c:when>
<c:otherwise><h3>没有一个条件满足!</h3></c:otherwise>
</c:choose>
</body>
</html>
运行结果:
内容是11-20!
程序说明:<c:otherwise>子标签必须使用在<c:choose>标签的体内,而且必须是在最后的分支上。
catch 标签
和 Java 程序中 try…catch{}语句功能很类似,它用于捕获嵌入到它中间语句抛出的异常使用格式如下:
<c:catch var=”varName” >
相关操作语句
</c:catch>
案例:新建页面jstl_core_catch_demo.jsp
<%@ page contentType="text/html;charset=GBK" %>
<%@ page isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>JSTL: -- catch 标签实例</title>
</head>
<body>
<h4>catch 标签实例</h4>
<hr>
<c:catch var="errors">
<%
String num = request.getParameter("num");
int i = Integer.parseInt(num);
out.println("the number is "+i);
%>
</c:catch>
<c:out value="${errors}"/>
</body>
</html>
如果在浏览器中输入
http://localhost:8080/JSPJSTLProject/jstl_core_catch_demo.jsp?num=3
结果如下:
catch 标签实例
--------------------------------------------------------------------------------
the number is 3
这时<c:catch>体中的代码执行正确,没有抛出异常。
如果输入
http://localhost:8080/JSPJSTLProject/jstl_core_catch_demo.jsp?num=OK
结果如下:
catch 标签实例
--------------------------------------------------------------------------------
java.lang.NumberFormatException: For input string: "OK"
这里给 num 值赋予了一个字符串ok,而在以上程序中调用 Integer.parseInt(num)把这个字符串硬转换成数值时,这时会抛出异常。
来源:CSDN
作者:cskmyjy
链接:https://blog.csdn.net/qq_16388171/article/details/104113109