EL表达式是什么

一种从域对象中获取数值的简化写法,el表达式语法格式为:${域对象.参数名}

使用方式

取出request范围内的参数:{pageContext.request.username} 或者是 ${requestScope.username}

取出session范围内的参数:{pageContext.session.username} 或者是 ${sessionScope.username}

等等。。换成相应域对象名即可

EL表中可以进行判断、运算等操作,具体查看官网文档即可

标签是什么

一些用于在jsp中简化获取和操作数值的工具,其本质就是java类,其工作原理如下:当一个含有自定义标签的jsp页面被jsp引擎编译成servlet时,标签被转化成了对一个称为标签处理类的对象操作。于是,当jsp页面被jsp引擎转换成servlet后,实际上标签被转化成了对应处理类的操作

自定义标签

1、创建标签处理器类,继承自SimpleTagSupport类
      public class MyTagAction extends SimpleTagSupport
2、编写标签库描述(tld)文件,在tld文件中对自定义中进行描述,在WEB-INF文件夹下面新建一个.tld为扩展名的文件

<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0"><!-- 描述TLD文件 -->
<description>MyTagAction</description>
<display-name>MyTag</display-name>
<tlib-version>1.0</tlib-version>
<!--标签的前缀 -->
<short-name>czp</short-name>
<!--作为tld文件的id,用来唯一标识当前的tld文件,多个tld文件的uri不能重复 -->
<uri>http://www.czp.com/mytag/core</uri><!-- 描述自定义的MyTag标签 -->
<tag><!-- 标签的名字 --><name>doThis</name><!-- 标签的全类名 --><tag-class>com.czp.tag.MyTag</tag-class><!-- 标签体的类型 --><body-content>empty</body-content>
</tag>
</taglib>

3、在jsp页面中导入和使用自定义标签
<%@ taglib uri="http://www.czp.com/mytag/core" prefix="czp"%>
使用自定义的标签
<czp:doThis/>

JSTL标签

一个常用的标签库,常用的标签有四个,如下所示:

核心标签库:可用表达式操作、流程控制等基本操作

<!-- 先要引入标签库 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!-- 遍历 -->
<c:forEach items="${users }" var="user">用户名:${user.username}
</c:forEach>
<!-- 流程控制 -->
<c:choose><c:when test="${user.id < 10 }">10</c:when><c:when test="${user.id < 20 }">20</c:when><c:when test="${user.id < 30 }">30</c:when><c:otherwise>40</c:otherwise>
</c:choose><c:if test="${user.id < 10 }" >10</c:if>
等等。。。没啥意思,一种语法而已

国际化和格式化标签:用于格式化显示的数据

<!-- 设置本地环境 -->
<fmt:setLocale><fmt:setLocale value="zh_CN"/><fmt:setLocale value="en_US"/><!-- 用于为请求设置字符编码 -->
<fmt:requesetEncoding><!-- 格式化输出数字 -->
<fmt:formatNumber>:<fmt:formatNumber value="123456789" type="number" pattern="#,##0.00"></fmt:formatNumber><!-- 按着格式输出日期 -->
<fmt:formatDate><fmt:formatDate value="${nowDate }" pattern="yyyy年MM月dd日"/>
<fmt:parseNumber><!-- 按着格式解析日期 -->
<fmt:parseDate>:<fmt:parseDate value="2017-5-6" pattern="yyyy-MM-dd" >
</fmt:parseDate>

函数标签:可以使用一些基本的函数

返回集合中元素的个数:
${fn:length(sessionScope.users)}是否包含:
${fn:contains("ABC", "a")}是否以。。开头:
${fn:startsWith ("ABC", "ab")}下标:
${fn:indexOf("ABCD","aBC")}替换:
${fn:replace("ABC","A","B")}分割:
${fn:split("A,B,C",",")}截取:
${fn:substring("ABC",1,2)}

34、JAVA_WEB开发基础之EL表达式和标签相关推荐

  1. el表达式,JSTL标签库

    1.el表达式    表达式语言(Expression Language,简称EL) EL主要作用:       获取数据:       EL表达式主要用于替换JSP页面中的脚本表达式,检索reque ...

  2. EL 表达式 JSTL 标签库

    EL 表达式 & JSTL 标签库 1.什么是EL表达式?EL表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达式的什么作用:EL 表达式 ...

  3. JSTL/EL表达式/Struts2标签/OGNL表达式

    文章目录 JSTL + EL表达式 Struts 标签 + OGNL表达式 JSTL + EL表达式 JSTL 只能用在 JSP 文件中,不可以在 XML 和 HTML 文件中使用,不可以用在 JS ...

  4. javaweb(09) EL表达式JSTL标签库(jsp相关,了解)

    javaweb(09) EL表达式&JSTL标签库(jsp相关,了解) EL表达式 简介和基本使用 EL 表达式的全称是:Expression Language.是表达式语言. EL 表达式的 ...

  5. El表达式+jstl标签

    目录 前言 EL获取数据(从四大域中获取属性) 1.如果没有使用EL的内置对象,则查找数据顺序是依次按照由小到大范围从四大域中查找指定名称的属性值 2.EL中的内置对象 1.域属性相关(4个) 2.其 ...

  6. 方立勋_30天掌握JavaWeb_JavaBean、mvc开发模式、el表达式、jstl标签

    什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法暴露 ...

  7. adf开发_在EL表达式中引用ADF Faces组件

    adf开发 EL表达式通常用于在页面上指定ADF Faces组件的属性值. 有趣的是,我们可以使用component关键字来引用要为其评估EL表达式的组件实例. 这是略与此类似Java中. 例如,在以 ...

  8. java day41【JSP 、MVC开发模式 、EL表达式 、JSTL标签 、三层架构】

    第一章  JSP 1. 指令 * 作用:用于配置JSP页面,导入资源文件 * 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> * 分类: 1. page : ...

  9. 32、JAVA_WEB开发基础之jsp

    是什么 是简化servlet的一种技术,将html语句和java代码混合在一个文件中进行编写,只对网页中动态产生的内容用java代码编写,静 态内容仍用html语句编写 运行原理 jsp本质上是一个s ...

最新文章

  1. Codeforces.1051F.The Shortest Statement(最短路Dijkstra)
  2. 科学家开发出新型生物质基碳材料负载催化剂制备方法
  3. @RenderBody、@RenderSection、@RenderPage、Html.RenderPartial、Html.RenderAction的作用和区别...
  4. 顶级程序员的心得ndash;Coders at Work
  5. 信息学奥赛一本通(1408:素数回文数的个数)
  6. c++ 高效解析url算法
  7. 常州网站服务器_常州服务器
  8. 几十种编程语言说Hello World
  9. java学习(五)包
  10. rk3399_android10编译说明
  11. java equals重写原则_如何正确的重写equals方法(避免各种陷阱)
  12. ResNet 6大变体对比
  13. CP_EndPoint环境中的Hotspot Settings
  14. win10 修改hosts文件
  15. c语言数组指针移位,C语言数组指针_3
  16. 微信小程序调用百度云H5人脸识别
  17. Cgroup 资源配置方法----------Control Groups------Docker通过 Cgroup 来控制容器使用的资源配额
  18. 强化学习基础入门级介绍
  19. uni-app 启动手机模拟器
  20. 极光厂商通道集成指南

热门文章

  1. 存储过程mysql报错1271_mysqldump备份失败以及解决方法汇总
  2. python变量类型怎么决定的_Python数据类型提示痛点的解决方案探讨
  3. vs里面mfc是什么_最近!一大批人正在前往文安,究竟发生了什么?
  4. mysql查询语句不返回_PHP-CI MySQL查询联接表,并且where语句不返回所...
  5. [SpringBoot2]原生组件注入_原生注解与Spring方式注入
  6. [SpringBoot2]容器功能_底层注解配置绑定_@Configuration@Import@Conditional@ImportResource
  7. LeetCode 143 重排链表-中等
  8. 单调栈思维 2021年度训练联盟热身训练赛第三场——K题 Summer Trip
  9. 数据结构与算法--力扣109题将有序双向链表转换为二叉搜索树
  10. 【WC2019】数树【子集反演】【结论】【树形dp】【生成函数】【函数求导】【多项式全家桶】