JSP 条件动作标签之if标签详解

好 上文 JSP JSTL引入依赖并演示基础使用我们导入了 JSTL的JAR 并 演示了 IF标签的基础使用
本文 我们来说说 平时开发的常用标签
这里 我们需要先强调一下 常用标签 操作的全部都是域对象

首先 我们来看

条件动作标签

条件动作标签的特点是 依赖于某些域对象值 控制页面输出结果
就像我们 java中的 if if else switch 等等
我们jsp中 有四个标签 if、choose、when、otherwise

先来说 if
我们可以这样写

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
    <%
        request.setAttribute("num",10);
    %>
    <c:if test="${num > 0}">
        <h1>你好 HTML</h1>
    </c:if>
</body>
</html>

这里 我们在request作用域中定义了 num的值 为 10 然后 我们 用了 if标签 test中写条件 我们判断num大于1 那么 10自然比1大 这个条件是肯定成立的
除了这种 我们还可加一段

<c:if test="${num > 100}" var="mvcTg" scope="request"></c:if>
${mvcTg}

在这里插入图片描述
mvcTg存储 我们test是否成立的值 然后 我们声明的这个值是在域对象中的 具体它在哪个域是 scope控制的 这里 我们把他放在request中
然后 最后 我们用EL表达式 输出一下mvcTg 看看能不能输出到这个值
在这里插入图片描述
可以看到 这个输出没有任何问题 因为 num 的值是10 第一个条件肯定成立 10大于1 所以 中间的h1标签 你好HTML被输出
然后 我们定义一个域对象 mvcTg 存储第二个if标签的结果 条件是 num 大于100 10是小于100的 条件肯定不成立 然后mvcTg被存储在了域对象中 我们通过EL输出 也是成功将false输出了出来

但if其实除了 test 其他的基本都不怎么用
然后 这里需要强调 我们的if标签操作 没有else 如果你想在jsp标签中 实现else效果 就设置与成功相反的条件if
例如 我们这样
在这里插入图片描述
两个条件 完全相反 其实你可以直接把成功条件复制过来 在前面加一个感叹号 取反 这个我们之前也说过

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值