el表达式和jstl_用二叉树来表示一个简单算术表达式

el表达式和jstl_用二叉树来表示一个简单算术表达式EL概述EL(ExpressLanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。简单来说EL表达式就是让程序员,简化了代码的书写量。在学EL表达式之前我们必须通过<%=%>来取出域中的数据,但这种方式过于繁琐,所以就诞生了EL表达式。EL取出JSP四大域…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

更多博文请关注:https://blog.bigcoder.cn

EL概述

       EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。

       简单来说EL表达式就是让程序员,简化了代码的书写量。在学EL表达式之前我们必须通过<%=      %>来取出域中的数据,但这种方式        过于繁琐,所以就诞生了EL表达式。

EL取出JSP四大域对象中保存的数据

 

  • pageContext域:${pageScope.key};
  • request域:${requestScope.key};
  • session域:${sessionScope.key};
  • application域:${applicationScope.key};

EL从四个域中获得某个值

    写法:${key};

    例:如果在request域中存储了一个名为”productList”的对象,我们不需要通过${requestScope.productList}取出相应的对象,只需要${productList}即可取出相应的对象。

   相当于pageContext.findAttribute()从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在向后寻找.

 

JSTL概述

     JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要代替jsp页面中的脚本代码。JSTL标准标签库有5个子库,但随着发展,目前常使用的是他的核心库。

 

JSTL五大子库

    Core (核心库)  标签库的URI:http://java.sun.com/jsp/jstl/core  常用前缀:c

    I18N(国际化)   标签库的URI:http://java.sun.com/jsp/jstl/fmt 常用前缀:fmt

    SQL                     标签库的URI:http://java.sun.com/jsp/jstl/sql  常用前缀:sql

    XML                    标签库的URI:http://java.sun.com/jsp/jstl/xml 常用前缀:x

    Functions            标签库的URI:http://java.sun.com/jsp/jstl/functions  常用前缀:fn 

下载与导入

    下载:Apache的网站下载JSTL的JAR包。进入“http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/”网址下载 JSTL的压缩包。jakarta-taglibs-standard-1.1.2.zip

    导入:解压后在lib目录下可以看到两个JAR文件,分别为jstl.jar和standard.jar。其中,jstl.jar文件包含JSTL规范中定义的接口和相关类,standard.jar文件包含用于实现JSTL的.class文件以及JSTL中5个标签库描述符文件(TLD),将两个文件导入项目中。

 

JSTL核心库的使用

  • <c:if>标签

          1. 语法格式:

                       <c:if  test=”xxx”   [var=”xxx”]   [scope=”{page|request|session|application}”]  >

                                        执行体

                       </c:if>

           2. 标签属性讲解:

                      test属性:用于设置逻辑表达式,当逻辑表达式为true时执行执行体

                      var属性:用于指定逻辑表达式中变量的名字

                       scope属性:用于指定var变量的作用范围,默认值是page。

           3.用法案例: 

el表达式和jstl_用二叉树来表示一个简单算术表达式

  • <c:forEach>标签  

     两种语法格式:

                1.迭代集合对象:

                                <c:forEach items=”xxx”   [var=”xxx”]   [varStatus=”xxx”]   [begin=”xxx”]   [end=”xxx”]   [step=”xxx”]>
                                             循环体…..
                                </c:forEach>

                 2.迭代数组:

                                 <c:forEach   begin=”xxx”  end=”xxx”   [var=”xxx”]   [varStatus=”xxx”]   [step=”xxx”]>
                                              循环体….
                                 </c:forEach>

    标签属性讲解:

                1.items属性用于指定将要迭代的对象

                2.var属性用于指  将当前迭代到的元素保存到page域中的名称(可以通过${xxx}获得对象)

                3.varStatus属性用于指定当前迭代状态信息的对象保存到page域中的名称

                         varStatus属性可以获取以下信息:

                                       count:表示元素在集合中的序号,从1开始

                                       index:表示当前元素在集合中的索引,从0开始

                                       first:表示当前是否为集合中的第一个元素

                                       last:表示当前元素是否为集合中最后一个元素         

                 4.begin属性用于指定从集合中的第几个元素开始迭代,begin的索引值从0开始              

                 5.step属性用于指定迭代的步长,即迭代的增长因子

   用法案例:

             迭代集合对象:

el表达式和jstl_用二叉树来表示一个简单算术表达式

              迭代数组元素:

el表达式和jstl_用二叉树来表示一个简单算术表达式

                                                    

 

总结

       在前端JSP页面中会经常用到EL表达式,和JSTL标签库,EL表达式使得取出request域和其它域中数据变得极其方便,JSTL免去了<%=    %>的繁琐操作。我介绍的JSTL的两个标签是核心库中最常用的两个,它们两个标签可以解决大多数问题。当然JSTL标签库中的标签远不止这些,有兴趣的小伙伴可以深入了解。

 

下面是博主的其他文章,喜欢的博友们点个关注,谢谢您的支持。

Java8 Lambda表达式入门

Validate插件的自定义验证方法入门(结合Ajax实现用户名的数据库查重)

JSON转换工具的使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164754.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm2021.8激活码(注册激活)

    (pycharm2021.8激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlZ9LZO4ZKWA-eyJsa…

    2022年3月22日
    45
  • 世界上速度最快的输入法 Fleksy 为了支持中国

    世界上速度最快的输入法 Fleksy 为了支持中国

    2021年9月8日
    87
  • pycharm结果显示窗口_pycharm怎么显示图片

    pycharm结果显示窗口_pycharm怎么显示图片问题描述在电脑中重新安装Anaconda3&PyCharm后,运行原来的程序画图时出现了下图界面。不能弹出如下图所示的“figure”窗口。解决方法:这是因为PyCharm在Sciview中开放它。具体操作步骤如下所示:1、“File—&gt;Settings”,打开Settings窗口。2、找到“PythonScientific”,去除右边候选框中的勾号。…

    2022年8月25日
    4
  • ASP.NET图书管理系统简单实现步骤「建议收藏」

    ASP.NET图书管理系统简单实现步骤「建议收藏」一、数据库添加 ![用户信息表](https://img-blog.csdnimg.cn/20190105001446419.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0MDMyNDEx,size_16,color_…

    2022年7月22日
    8
  • 社会治理大数据平台怎么建_平度市社会治理大数据平台建设有序推进

    社会治理大数据平台怎么建_平度市社会治理大数据平台建设有序推进6月1日,市委常委、政法委书记陈勇调度了全市社会治理大数据平台建设进展情况。陈勇首先实地查看了市级社会治理指挥中心建设情况,详细询问了施工人员工程进展、需要协调解决的问题和困难。下午,陈勇听取了青岛城市大数据运营有限公司关于社会治理大数据平台建设推进情况汇报,指出要按照“全省最优、全国一流”的目标,加快智慧城市创新软件版块的开发和基础数据的导入,同步做好信息安全保障工作,强化实战应用,确保7月1日…

    2022年6月1日
    39
  • Ubuntu18.04下VIM安装及配置

    Ubuntu18.04下VIM安装及配置作者:陈浩 更新日期:2018-09-211.安装VIM $sudoapt-getinstallvim我的vim已经是最新版(2:8.0.1453-1ubuntu1)。2.安装vim-plug一种方便简洁的插件管理插件终端输入如下命令: $curl-fLo~/.vim/autoload/plug.vim–create-dirshttps://raw.gi…

    2022年9月30日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号