前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >el表达式和jstl_用二叉树来表示一个简单算术表达式

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

作者头像
全栈程序员站长
发布2022-09-19 09:33:57
6920
发布2022-09-19 09:33:57
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

更多博文请关注: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_用二叉树来表示一个简单算术表达式
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_用二叉树来表示一个简单算术表达式

迭代数组元素:

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

总结

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • EL概述
  • JSTL概述
    • JSTL五大子库
      • 下载与导入
        • JSTL核心库的使用
          • 总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档