JSP标签JSTL(2)--流程控制
对于流程控制,单纯的用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 &¶m.score<90}" var="result">
<c:out value="您的成绩是良好!"></c:out>
</c:if>
<c:if test="${param.score>=60 &¶m.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&¶m.score<=100 }">
<c:out value="恭喜,你的成绩是优秀!"></c:out>
</c:when>
<c:when test="${param.score>=80&¶m.score<90 }">
<c:out value="恭喜,你的成绩是优秀!"></c:out>
</c:when>
<c:when test="${param.score>=70&¶m.score<80 }">
<c:out value="恭喜,你的成绩是良好!"></c:out>
</c:when>
<c:when test="${param.score>=60&¶m.score<70 }">
<c:out value="恭喜,你的成绩是及格!"></c:out>
</c:when>
<c:when test="${param.score>=0&¶m.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)--流程控制的更多相关文章
- JSP标签JSTL(5)--常用的标签函数
在使用JSTL的标签函数的时候请务必加上如下代码 <!-- 添加jsp标签的核心库 --> <%@ taglib uri="http://java.sun.com/jsp/ ...
- jsp标签jstl和el表达式
1.el表达式的使用 1)访问bean的属性 方式一: ${user.name},容器会依次从pageContext,request,session,application中查找(getAttribu ...
- JSP标签JSTL的使用(1)--表达式操作
单纯的使用jsp脚本来进行逻辑处理,显得代码很是杂乱.为了更加简洁也为了便于代码的阅读,于是JSTL应运而生. 库文件下载地址: 我自己上传的一份压缩文件,里面包含了所有需要的jar包,而且不需要积分 ...
- JSP标签JSTL(4)--URL
<c:url>标签作用是将一个URL地址格式化为一个字符串,并且保存在一个变量当中.它具有URL自动重写功能.value指定的URL可以是当前工程的一个URL地址,也可以是其他web工程的 ...
- <c:if>标签的使用-流程控制标签
<c:if>标签必须要有test属性,${ }表达式为ture,则执行body内容;否则不执行. 原始代码: <c:if test="${all == 1}"&g ...
- JSP标签JSTL(3)--迭代操作
简单点说,<c:forEach>标签的作用就是迭代输出标签内部的内容.它既可以进行固定次数的迭代输出,也可以依据集合中对象的个数来决定迭代的次数. <!--语法使用如下--> ...
- JSP常用标签——JSTL标签和EL表达式
一.JSTL简介 1.什么是JSTL JSTL是Java中的一个定制标记库集.(这个标记库集不需要自己编写,可以直接使用) 2.为什么要使用JSTL 实现了JSP页面中的代码复用(基于标签库原理,重复 ...
- 【JSP】JSTL核心标签库的使用方法和示例
JSTL 核心标签库 JSTL 核心标签库标签共有13个,功能上分为4类: 1. 表达式控制标签:out.set.remove.catch 2. 流程控制标签:if.choose.when.other ...
- [原创]java WEB学习笔记43:jstl 介绍,core库详解:表达式操作,流程控制,迭代操作,url操作
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- js页面(页面上无服务端控件,且页面不刷新)实现请求一般处理程序下载文件方法
对于js页面来说,未使用服务端控件,点击下载按钮时不会触发服务端事件,且不会提交数据到服务端页面后台进行数据处理,所以要下载文件比较困难.且使用jQ的post来请求一般处理程序也不能实现文件的下载,根 ...
- 关于go语言的通道
1.记一次gorountine导致的泄漏 在项目中使用https://github.com/deckarep/golang-set这个三方包造成了gorountine泄漏.先来看一下这个包的迭代器设置 ...
- matlab sparse函数和full函数用法详解(转)
sparse函数 功能:Create sparse matrix-创建稀疏矩阵 用法1:S=sparse(X)--将矩阵X转化为稀疏矩阵的形式,即矩阵X中任何零元素去除,非零元素及其下标(索引)组成矩 ...
- ng-book札记——内置指令
Angular提供了一些内置指令(directive),这些添加在HTML元素(element)上的特性(attribute)可以赋予更多的动态行为. NgIf ngIf指令用于在某个条件下显示或者隐 ...
- Java语言程序设计-助教篇
1. 给第一次上课(软件工程)的老师与助教 现代软件工程讲义 0 课程概述 给学生:看里面的第0个作业要求 2. 助教心得 美国视界(1):第一流的本科课堂该是什么样?(看里面的助教部分) 助教工作看 ...
- APP自动化框架LazyAndroid使用手册(1)--框架简介
作者:cryanimal QQ:164166060 APP自动化简介 APP自动化,即通过自动化的方式,对APP施行一系列的仿按键输入.触摸屏输入.手势输入等操作,以达到对APP的功能进行自动化测试 ...
- Bootstrap3 栅格系统-实例:多余的列(column)将另起一行排列
如果在一个 .row 内包含的列(column)大于12个,包含多余列(column)的元素将作为一个整体单元被另起一行排列. <div class="row"> &l ...
- Mac入门
Mac入门 桌面 windows桌面有图标罗列 Mac桌面有Dock 菜单栏 感觉上和Windows系统的底部菜单栏有点像,但是却略有不同,Mac的菜单栏默认在顶部 左侧的一些功能是固定不变的,跟随当 ...
- JDK 源码学习——ByteBuffer
ByteBuffer 在NIO的作用 Java SE4 开始引入Java NIO,相比较于老的IO,更加依赖底层实现.引入通道(Channels),选择器(selector),缓冲(Buffers). ...
- Redis 学习笔记1:CentOS 6.7下安装Redis
在linux环境搭建Redis环境,首先从官网(http://redis.io/)下载Redis 版本,本人使用的3.21版本. 1. 将redis 解压到 /usr/local目录下. [root ...