JSTL 核心标签C

2024-06-16 23:18
文章标签 核心 jstl 标签

本文主要是介绍JSTL 核心标签C,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


  *<c:out >:  用于输出,本身EL表达式就可以完成输出,为什么还要用这个呢,这里面有一个default参数,就是当为空时,可以默认输出default里面的内容,这个EL表达式是不能做到的。 例如:<c:out value="${ abc }" default="不存在abc变量" /> -->如果在服务器端没有setAttribute abc 的值,那么此时就会输出:不存在abc变量 这样的结果。 另外一种写法:<c:out value="${abc}" >不存在abc变量</c:out>

  如果value中的值不是EL表达式,则直接打印出其中的字符串。

    还可以设置out的escapeXml属性:分为true和false,true是默认属性,即把内容原样输出;false是转意输出,比如输出的如果是html代码,则可以按html效果输出。

  *<c:if>: 用于条件判断,例如 :<c:if test="${ empty value1 }" var="v">value1为空</c:if>  此句代码的含义是:如果value1为空的话,则打印出 -->value1为空 并把判断结果放在v变量中。 

  *<c:choose>,<c:when>,<c:otherwise>: 用于条件分支选择,例如:

    <c:choose>

        <c:when test="${ empty value1 }">

          value1为空!

        </c:when>

        <c:otherwise>

          value1不为空!

        </c:otherwise>

        </c:choose>

  可以有多个<c:when>,<c:when>必须在<c:otherwise>的前面

  *<c:forEach>: 用于循环打印输出,例如:

    <table border="1" width="100%">

      <tr>

        <td>姓名</td>

        <td>年龄</td>

        <td>所属组</td>

      </tr>

      <c:choose>

        <c:when test="${ empty userlist}">

          <tr>

            <td colspan="3">没有符合条件的数据!</td>

          </tr>

        </c:when>

        <c:otherwise>

          <c:forEach items="userlist" var="user">

            <tr>

              <td>${ user.userName}</td>

              <td>${ user.userAge}</td>

              <td>${ user.group.groupName}</td>

            </tr>

          </c:forEach>

        </c:otherwise>

      </c:choose>

    </table>

  现在有另外一个需求,要求偶数行的背景设置为红色,则可以这样写代码:

    <table border="1" width="100%">

      <tr>

        <td>姓名</td>

        <td>年龄</td>

        <td>所属组</td>

      </tr>

      <c:choose>

        <c:when test="${ empty userlist}">

          <tr>

            <td colspan="3">没有符合条件的数据!</td>

          </tr>

        </c:when>

        <c:otherwise>

          <c:forEach items="userlist" var="user" varStatus="vs">

            <c:choose>

              <c:when test="${ vs %2 == 0 }">

                <tr bgcolor="red">

              </c:when>

              <c:otherwise>

                <tr>

              </c:otherwise>

            </c:choose>

              <td>${ user.userName}</td>

              <td>${ user.userAge}</td>

              <td>${ user.group.groupName}</td>

            </tr>

          </c:forEach>

        </c:otherwise>

      </c:choose>

    </table>

    也可以在<forEach>标签中加入begin, end, step 参数,代表从第几个开始输出,每次输出的步长为多少,如<c:forEach items="userlist" var="user" begin="2" end="8" step="2">。

    还可以用<forEach:>标签循环取得Map中的值。例如:

    <c:forEach items="mapvalue" var="v">

      ${ v.key } = ${ v.value }<br>

    </c:forEach>

    这样就循环输出Map的内容了。


  *<c:forTokens>: 用于按特定的字符分隔的输出。例如:

    假设在服务器端有这样的代码:request.setAttribute("strTokens", "1, 2, 3, 4, 5") ;

    <c:forTokens items="strTokens" delims="," var="v" >

      ${ v } <br>

    </c:forTokens>


  *<c:url>: 用于生成一个url 地址。例如:

    <c:url value="http://localhost/sysmgr/add_user.jsp" var="v">

      <c:param name="userName" value="Jack" />

      <c:param name=“userAge" value=30 />

    </c:url>

     <a href="${ v }">增加用户</a>

  

  *<c:set>:用于设置一个变量的值,或者变量属性。

这篇关于JSTL 核心标签C的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1067831

相关文章

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理 秒杀系统是应对高并发、高压力下的典型业务场景,涉及到并发控制、库存管理、事务管理等多个关键技术点。本文将深入剖析秒杀商品业务中常见的几个核心问题,包括 AOP 事务管理、同步锁机制、乐观锁、CAS 操作,以及用户限购策略。通过这些技术的结合,确保秒杀系统在高并发场景下的稳定性和一致性。 1. AOP 代理对象与事务管理 在秒杀商品

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

Spring下自定义xml标签

dubbo自定义了很多xml标签,例如<dubbo:application>,那么这些自定义标签是怎么与spring结合起来的呢?我们先看一个简单的例子。 一 编写模型类 1 package com.hulk.testdubbo.model;2 3 public class Hero {4 private String name;5 private int

JAVA初级掌握的J2SE知识(二)和Java核心的API

/** 这篇文章送给所有学习java的同学,请大家检验一下自己,不要自满,你们正在学习java的路上,你们要加油,蜕变是个痛苦的过程,忍受过后,才会蜕变! */ Java的核心API是非常庞大的,这给开发者来说带来了很大的方便,经常人有评论,java让程序员变傻。 但是一些内容我认为是必须掌握的,否则不可以熟练运用java,也不会使用就很难办了。 1、java.lang包下的80%以上的类

Struts2常用标签总结--转载

Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。 Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于