对于流程控制,单纯的用jsp脚本,显得很是繁琐,尤其是遇到if判断的时候,写代码的时候就需要特别的小心,因为极有可能会出现符号不匹配的状况。但是利用标签语言就会大大的改善这一状况。


流程控制

  • if标签
  • when标签
  • choose标签
  • otherwise标签

先来看一看if标签的使用

<form action="IfDemo.jsp" method="post">
    <hr>
    <h1>写上你的信息啊!</h1>
    <input type="text" name="score" value="${param.score }"><br>
    <input type="submit" />
</form>
<c:if test="${param.score>=90 }" var="result">
    <c:out value="您的成绩是优秀!"></c:out>
</c:if>
<c:if test="${param.score>=75 &&param.score<90}" var="result">
    <c:out value="您的成绩是良好!"></c:out>
</c:if>
<c:if test="${param.score>=60 &&param.score<75 }" var="result">
    <c:out value="您的成绩是及格!"></c:out>
</c:if>
<c:if test="${param.score<60 }" var="result">
    <c:out value="您的成绩是不及格!"></c:out>
</c:if>

<c:out value="${result }"></c:out>

通过这样的处理便可以实现流程的简易控制。


接下来看看另外的三个标签。通常来讲这三个标签会配合使用,这样才显得比较有效率。当然了,也是可以不配合使用的。

简单的代码如下:

<form action="processControls.jsp" method="post">
    <hr>
    <h1>写上你的信息啊!</h1>
    <input type="text" name="score" value="${param.score }"><br>
    <input type="submit" />
</form>
<c:choose >
    <c:when test="${param.score>=90&&param.score<=100 }">
        <c:out value="恭喜,你的成绩是优秀!"></c:out>
    </c:when>
    <c:when test="${param.score>=80&&param.score<90 }">
        <c:out value="恭喜,你的成绩是优秀!"></c:out>
    </c:when>
    <c:when test="${param.score>=70&&param.score<80 }">
        <c:out value="恭喜,你的成绩是良好!"></c:out>
    </c:when>
    <c:when test="${param.score>=60&&param.score<70 }">
        <c:out value="恭喜,你的成绩是及格!"></c:out>
    </c:when>
    <c:when test="${param.score>=0&&param.score<60 }">
        <c:out value="Sorry,你的成绩是不及格!"></c:out>
    </c:when>

    <c:otherwise>
        <c:out value="你输入的数据出错了吧,这都能输错!"></c:out>
    </c:otherwise>
</c:choose>

otherwise就是在choose范围内,when之外的所有条件的处理好帮手。

JSP标签JSTL(2)--流程控制的更多相关文章

  1. JSP标签JSTL(5)--常用的标签函数

    在使用JSTL的标签函数的时候请务必加上如下代码 <!-- 添加jsp标签的核心库 --> <%@ taglib uri="http://java.sun.com/jsp/ ...

  2. jsp标签jstl和el表达式

    1.el表达式的使用 1)访问bean的属性 方式一: ${user.name},容器会依次从pageContext,request,session,application中查找(getAttribu ...

  3. JSP标签JSTL的使用(1)--表达式操作

    单纯的使用jsp脚本来进行逻辑处理,显得代码很是杂乱.为了更加简洁也为了便于代码的阅读,于是JSTL应运而生. 库文件下载地址: 我自己上传的一份压缩文件,里面包含了所有需要的jar包,而且不需要积分 ...

  4. JSP标签JSTL(4)--URL

    <c:url>标签作用是将一个URL地址格式化为一个字符串,并且保存在一个变量当中.它具有URL自动重写功能.value指定的URL可以是当前工程的一个URL地址,也可以是其他web工程的 ...

  5. <c:if>标签的使用-流程控制标签

    <c:if>标签必须要有test属性,${ }表达式为ture,则执行body内容;否则不执行. 原始代码: <c:if test="${all == 1}"&g ...

  6. JSP标签JSTL(3)--迭代操作

    简单点说,<c:forEach>标签的作用就是迭代输出标签内部的内容.它既可以进行固定次数的迭代输出,也可以依据集合中对象的个数来决定迭代的次数. <!--语法使用如下--> ...

  7. JSP常用标签——JSTL标签和EL表达式

    一.JSTL简介 1.什么是JSTL JSTL是Java中的一个定制标记库集.(这个标记库集不需要自己编写,可以直接使用) 2.为什么要使用JSTL 实现了JSP页面中的代码复用(基于标签库原理,重复 ...

  8. 【JSP】JSTL核心标签库的使用方法和示例

    JSTL 核心标签库 JSTL 核心标签库标签共有13个,功能上分为4类: 1. 表达式控制标签:out.set.remove.catch 2. 流程控制标签:if.choose.when.other ...

  9. [原创]java WEB学习笔记43:jstl 介绍,core库详解:表达式操作,流程控制,迭代操作,url操作

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

随机推荐

  1. Oracle 导入、导出DMP(备份)文件

    首先说明dmp文件: Oracle备份文件是以dmp结尾,这种文件是oracle的逻辑备份文件,常用于数据库逻辑备份,数据库迁移等操作. 一.Oracle导入备份文件步骤:我用的是Oracle 11g ...

  2. 触发事件trigger

    触发事件,在本例中,文档加载好之后,就触发dblclick双击事件,而不是通过去手动双击. <script src="http://how2j.cn/study/jquery.min. ...

  3. idea热部署

    <!-- 热部署模块 --> <dependency> <groupId>org.springframework.boot</groupId> < ...

  4. Redis出现多线程调用时抛出 [B cannot be cast to java.lang.Long] 异常

    原因分析: 多个线程同时调用了同一个jedis对象,导致内存数据被多个线程竞争,产生数据混乱 (或者大家都用通一个redis获取同一个实例,登录同一个账号使用缓存时报错) 解决方案:每个线程都new出 ...

  5. SQL部分常用指令整理

    dual 伪表 用来测试函数和表达式 1.查询EMP表中所有人的信息,结果格式样例为"某人的月薪是1000$" SELECT ENAME||'的月薪是'||SAL||'$' FRO ...

  6. Matlab 编译EXE

    环境:vs2013  matlab2015b 一.生成独立可执行的程序(exe文件)步骤1.设置编译器.在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器. ...

  7. Python中的转义

    在Python交互式解释器中,输出的字符串会用引号引起来,特殊字符会用反斜杠(\)转义.如果遇到带有\的字符被当作特殊字符时,有以下两种处理方法:1.使用双反斜杠(\\)来转义2.使用原始字符串,方法 ...

  8. Gleb And Pizza CodeForces - 842B

    CodeForces - 842B #include<bits/stdc++.h> using namespace std; int main() { int r,d,t; double ...

  9. Docker 数据卷

    数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 卷会一直存在,直到没有容 ...

  10. Redis之(七)主从同步与集群管理

    8.1 主从同步原理 像MySQL一样,Redis是支持主从同步的,而且也支持一主多从以及多级从结构. 主从结构,一是为了纯粹的冗余备份,二是为了提升读性能,比如很消耗性能的SORT就可以由从服务器来 ...