JSP EL 通过 三元运算符 控制界面 标签 标签属性内容

然后 我们来说说 EL配合三元运算符的妙用

我们先这样写

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<%
    request.setAttribute("a",1);
%>
<p>${a != null?"有数据的":"a的值为null"}</p>
</body>
</html>

这里 我们在request域中 定义a为1
然后 我们EL中写了个条件 a 不等于 null 如果 条件成立 展示 有数据的 如果条件不成立 展示 a的值为null
我们运行界面

因为 a的值是 1 条件肯定成立 因为 1是有值的 不等于 null
页面展示出了 有数据的 是成立后的返回 没有任何问题
在这里插入图片描述
我们这边改一下复制的地方 直接将a赋值为 null 让条件不成立
在这里插入图片描述
运行界面 也是没有任何问题
在这里插入图片描述
除了控制文本展示 还可以控制行内样式
我们编写代码如下

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<%
    request.setAttribute("a",null);
%>
<h1 style = "color: ${a == null?"red":"blue"}">控制颜色</h1>
</body>
</html>

这里 我们设置 行内color属性 为一个三元运算符 如果 a 等于 null 则条件成立 值为 red 红色
如果 条件不成立 则 颜色为 blue 蓝色 我们运行界面
因为 我们赋值是request的a就是null 所以条件肯定是成立的 为 红色 也是没有任何问题
在这里插入图片描述
这里 我们把a的值改一下
将a的值改为 1 那么它现在肯定不是null了
在这里插入图片描述
我们运行界面
在这里插入图片描述
也是没有任何问题

他还可以控制标签属性

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<%
    request.setAttribute("a",1);
%>
<h1 id = "key${a == null?"map":"list"}">控制颜色</h1>
</body>
</html>

这里 我们判断 如果 a 等于 null 则 id 为 key加 map 不成立 就是 key 加 list
运行页面

因为 a 等于 1 所以 判断肯定是不成立的 拼到 key后面的是list
在这里插入图片描述
除了控制属性 我们甚至可以用它控制标签

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<%
    request.setAttribute("a",1);
%>
${a == 1?"<h1>你好</h1>":"<p>111</p>"}
</body>
</html>

这边 我们定义request域 a 为 1
然后 我们判断 a 等于1 如果成立 h1 标签 内容你好 否则 p标签 内容为 111
运行结果如下
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值