JSP~~JSTL~~核心标签库~~choose/when/otherwise/catch

情到浓时终转凉″ 提交于 2020-01-30 13:39:26

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)把这个字符串硬转换成数值时,这时会抛出异常。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!