广告
返回顶部
首页 > 资讯 > 精选 >EL表达式怎么用
  • 541
分享到

EL表达式怎么用

2023-06-03 04:06:59 541人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关EL表达式怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。EL (Expression Language) 表达式语言 是jsP2.0的正式标准规范之一要想运行EL,必须先寻找一个可

这篇文章给大家分享的是有关EL表达式怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

EL (Expression Language) 表达式语言
jsP2.0的正式标准规范之一

要想运行EL,必须先寻找一个可以支持JSP2.0 的 JAVA WEB容器
先让我们来测试一下你手中的java WEB容器是否支持 JSP2.0

来把这个JSP放如你饿web 容器中

index.jsp
-----------
<%@ page="" language="java" contenttype="text/html; charset=GBK" pageencoding="GBK">

servlet 支持 : <%=application.getmajorversion()>.<%=application.getminorversion()>

-----------

来访问一下这个页面,如果支持的servlet版本 是在 2.4 或则 2.4以上,那么你的web容器应该是能支持JSP2.0的。
<我的土方法,哈哈。有别的更好的方法识别>

例如:
${user.firstName}


EL保留字
And  Or  No  Instanceof
eq  ne  le  ge
lt  gt  empty  null
true  false  div  mod

EL保留标识符
pageContext  pageScope  requestScope  sessionScope
applicationSocpe param   paramValues  header
headerValues  cookie   initParam


作用域(4个)
page  request  session  application

任何出现在EL表达式中,但不对应于任何EL隐式对象的标识符,都被自动假定为引用存储在某个JSP作用域中的对象。
EL会依次 检查 page ,request , session ,application 这四个作用域。
一旦找到对应的值,马上返回值,不再继续寻找。
如果遍历后没有找到,返回null

EL存取器

点(.)运算符 通常用来访问对象的属性
example:
${user.sex}
${user.birthday.year}

方括号([])运算符 通常用于检索叔祖或集合的元素
example:
${email[1]}  注意,索引从‘0’开始

如果检索的对象是实现Map接口的集合,方括号运算符号使用惯量的键检索存储在衍射中的值
example:
${employee{"id"}}

-----------------------------------------------------------------------------------------

---------------------------------EL的11个隐式对象----------------------------------------
pageContext  

pageScope  requestScope  sessionScope  applicationScope

param   paramValues  

header   headerValues

cookie  

initParam
-----------------------------------------------------------------------------------------


访问地址:Http://www.wangyudong.com:8080/elapp/index.jsp?id=99#123456789

测试结果:
servlet 支持 : 2.4版本

${pageContext.servletContext.serverInfo} : Apache Tomcat/5.0.28
${pageContext.request.requestURL} : http://www.wangyudong.com:8080/elapp/index.jsp
${pageContext.request.requestURI} : /elapp/index.jsp
${pageContext.request.contextPath} : /elapp
${pageContext.request.queryString} : id=99
${pageContext.request.method} : GET
${pageContext.request.protocol} : HTTP/1.1
${pageContext.request.localAddr} : 127.0.0.1
${pageContext.session.new} : false
${pageContext.request.requestedSessionId} : A9D19BB7273C2C6622E8C8F2174215D7
${pageContext.session.id} : A9D19BB7273C2C6622E8C8F2174215D7

------------------------------------------------------------------------------------------
EL的四个作用域:

页面作用域  pageScope  
example:
${pageScope.userName}
${pageScope.passWord}


请求作用域  requestScope
example:
${requestScope.userName}
${requestScope.password}


会话作用域  sessionScope
example:
${sessionScope.userName}
${sessionScope.password}


应用作用域  applicationScope
${applicationScope.userName}
${applicationScope.password}


-----------------------------------------------------------

param对象 ,请求参数对象

存放 客户发送的请求参数

userName : ${param.userName }
password : ${param.password }

----------------------------------------------------------

paramValues对象 ,Map映射对象,存放的是所有请求参数 的 '名' 和 '值' 的键值对。

可以说为每一个不同名的参数建立一个 Map对象。

userName : ${paramValues.userName[0]}
userName : ${paramValues.userName[1]}


----------------------------------------------------------

header 对象 :存放头部信息的对象

example:
${header["User-Agent"] } //获得用户的浏览器信息

----------------------------------------------------------

cookie对象 : Cookie

附带和Cookie相关的 名值对 的 Map映射

example:
${cookie.JSESSIONID.name} : ${cookie.JSESSIONID.value }


----------------------------------------------------------

iniParam对象 : 初始化参数

web.xml中配置:

wyd
wang yu dong

index.jsp中获得参数
initParam value of wyd : ${initParam["wyd"] }

----------------------------------------------------------
EL显示文字:

${"ssss"}
${'kkkk'}


EL显示数字:

${123}
${22.9865}

EL显示布耳值
${true}
${false}

----------------------------------------------------------

EL算术运算

-----------------------------------------------------------------------------------
算术运算符  说明  范例    结果
-----------------------------------------------------------------------------------
+   加法  ${123+456}   579  
-   减法  ${123-456}   -333
*   乘法  ${123*456}   56088
/ or div  除法  ${123/456}或${123 div 456} 0.2697368
% or mod  求余  ${123%456}或%{123 mod 456} 123  
-----------------------------------------------------------------------------------

关系运算
-----------------------------------------------------------------------------------
关系运算符  说明  范例    结果
-----------------------------------------------------------------------------------
== 或 eq  等于  ${123==456} 或 ${123 eq 456} false
-----------------------------------------------------------------------------------
!= 或 ne  不等于  ${123!=456} 或 ${123 ne 456} false
-----------------------------------------------------------------------------------
<  或 lt  小于  ${123<456}  或 ${123 lt 456} true
-----------------------------------------------------------------------------------
>  或 gt  大于  ${123>456}  或 ${123 gt 456} false
-----------------------------------------------------------------------------------
<= 或 le  小于等于 ${123<=456} 或 ${123 le 456} true
-----------------------------------------------------------------------------------
>= 或 ge  大于等于 ${123>=456} 或 ${123 ge 456} false
-----------------------------------------------------------------------------------


逻辑运算
-----------------------------------------------------------------------------------
逻辑运算符  说明  范例(A=true B=false)  结果
-----------------------------------------------------------------------------------
&& 或 and  逻辑于  ${A&&B} 或 ${A and B}  false
-----------------------------------------------------------------------------------
|| 或 or  逻辑或  ${A||B} 或 ${A or B}  true
-----------------------------------------------------------------------------------
!  或 not  逻辑非  ${!A} 或 ${not A}  false
-----------------------------------------------------------------------------------

验证运算
-----------------------------------------------------------------------------------
验证运算符  说明  范例    结果
-----------------------------------------------------------------------------------
    ${empty null}   true
    -------------------------------------------
empty   是否为空 ${empty ""}   true
    -------------------------------------------
    ${empty "123"}   false
-----------------------------------------------------------------------------------

EL函数

1,写EL标签脚本类。

下面是类的内容,
注意:
1,类一定是public的
2,类中的方法一定是public static的
_________________

package wyd.jsp.el.tag;

public class MathFunction {

private static final double PI=3.1415926;


public static double girthOfCircle(double radius){
 double grith=0;
 
 grith=PI * 2 * radius;
 
 return grith;
 
}


public static double areaOfCircle(double radius){
 double area=0;
 area= PI * radius * radius;
 
 return area;
}

}
_________________

2,写标签定义文件  *.tld文件

下面是"wyd_math.tld" 文件的内容

并且我选择的保存文件路径是"WEB-INF/tlds/wyd_math.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 web-jsptaglibrary_2_0.xsd"
version="2.0">
1.0
/http://www.wangyudong.com

 
 girth
 wyd.jsp.el.tag.MathFunction
 double girthOfCircle(double)

 area
 wyd.jsp.el.tag.MathFunction
 double areaOfCircle(double)

—————————————————

3,现在配置到web.xml中

我的配置好的web.xml文件
—————————————————

   index.jsp

 http://www.wangyudong.com/tld/math
 /WEB-INF/tlds/wyd_math.tld

—————————————————

解释:
taglib-uri : 随便给一串字符串来标记它,到时候jsp文件 应用到该标记的时候可以找到它
taglib-location : 是标记存在的描述文件 *.tld 文件存在的位置 。"/" 开头 表明从一个应用 'application'的根目录下寻找

4,在JSP中应用EL 自定义标签;

我的jsp文件: "el.jsp"
————————————————————————
<%@ page="" language="java" contenttype="text/html; charset=gbk" pageencoding="GBK">
<%@page isELIgnored="false"%>
<%@ taglib prefix="wyd" uri="http://www.wangyudong.com/tld/math"%>


R=100的圆的周长 : ${ wyd:girth(100) }

R=100的圆的面积 : ${ wyd:area(100)}  


5,访问的结果出来了

result:
----------


R=100的圆的周长 : 628.31852
R=100的圆的面积 : 31415.926000000003

感谢各位的阅读!关于“EL表达式怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: EL表达式怎么用

本文链接: https://www.lsjlt.com/news/232671.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • EL表达式怎么用
    这篇文章给大家分享的是有关EL表达式怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。EL (Expression Language) 表达式语言 是JSP2.0的正式标准规范之一要想运行EL,必须先寻找一个可...
    99+
    2023-06-03
  • Java后端怎么用EL表达式改进JSP
    这篇文章主要介绍了Java后端怎么用EL表达式改进JSP的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java后端怎么用EL表达式改进JSP文章都会有所收获,下面我们一起来看看吧。EL表达式改进JSPJSP的缺...
    99+
    2023-06-29
  • HTML5中能用EL表达式吗
    本篇内容主要讲解“HTML5中能用EL表达式吗”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5中能用EL表达式吗”吧! HT...
    99+
    2022-10-19
  • struts2 el表达式的作用是什么
    Struts2 EL表达式的作用是在JSP页面中访问和操作Struts2框架中的数据和对象。EL表达式可以简化JSP页面的编写,提高...
    99+
    2023-10-27
    struts2
  • javascript可不可以用el表达式
    本篇内容介绍了“javascript可不可以用el表达式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • EL表达式的作用有哪些
    EL表达式的作用有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JSP页面中支持使用EL表达式,EL全名为Expression Language。EL表达式...
    99+
    2023-05-31
    el表达式
  • java el表达式的含义是什么
    EL(Expression Language)是一种用于在JavaServer Pages(JSP)和JavaServer Face...
    99+
    2023-10-27
    java
  • Java后端用EL表达式改进JSP
    目录EL表达式改进JSPJSP的缺点EL表达式idea中使用Maven时常见问题idea中使用了maven无法创建包/类idea中配置web的maven项目maven创建的web中无...
    99+
    2022-11-13
  • EL表达式如何在JAVA中使用
    这篇文章将为大家详细讲解有关EL表达式如何在JAVA中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、概念表达式语言(Expression Language),或称EL表达式,简称EL...
    99+
    2023-05-31
    java ava el表达式
  • Struts2中EL表达式如何执行
    在Struts2中,EL表达式是通过OGNL(Object-Graph Navigation Language)来执行的。EL表达式...
    99+
    2023-08-19
    Struts2
  • JSP之EL表达式基础详解
    一、EL表达式简介 EL表达式全称:Expression Language,即表达式语言 EL表达式作用:代替JSP页面中表达式脚本进行数据的输出 EL表达...
    99+
    2022-11-12
  • Struts2 国际化文件中 EL 表达式怎么能执行
    在Struts2的国际化文件中,EL表达式是不会被执行的。国际化文件中的值只是用于存储文本消息,并且会根据当前的Locale进行匹配...
    99+
    2023-08-18
    Struts2
  • el表达式如何写入bootstrap表格数据页面
    这篇文章将为大家详细讲解有关el表达式如何写入bootstrap表格数据页面,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。el表达式,写入bootstrap表格,简化代码...
    99+
    2022-10-19
  • 为什么EL表达式在java中无法解析JSP
    为什么EL表达式在java中无法解析JSP?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。收集了如下版本:web-app_2_2.xsd <&#63;xml ve...
    99+
    2023-05-31
    java jsp el表达式
  • struts2之使用EL表达式,显示Action中的数据
    在Struts2中,可以使用EL表达式(Expression Language)来显示Action中的数据。首先,在JSP页面中导入...
    99+
    2023-09-28
    struts2
  • el表达式与jstl标签不能用解决方法
    开发过程中有时会遇到这样的问题,el表达式与jstl标签不能用。这对懒人可真是灾难,用不了不仅要多写许多代码,页面也会看着特别臃肿,本文中有些方法希望可以帮到你。如下图所示:首先我们要确保所需要的maven依赖都要添加 ...
    99+
    2017-12-05
    java教程 jstl
  • VB.NET表达式怎么用
    这篇文章主要介绍了VB.NET表达式怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VB.NET表达式是一个或多个运算的组合。VB.NET的表达式与其他语言的表达式没有显...
    99+
    2023-06-17
  • 怎么用C#表达式树Expression动态创建表达式
    本篇内容介绍了“怎么用C#表达式树Expression动态创建表达式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在一些管理后台中,对数据进...
    99+
    2023-06-22
  • C# Lambda表达式怎么用
    这篇文章主要为大家展示了“C# Lambda表达式怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C# Lambda表达式怎么用”这篇文章吧。C#语言还是比较常见的东西,这里我们主要介绍C#...
    99+
    2023-06-17
  • Quartz表达式怎么使用
    Quartz表达式是一种时间表达式语言,用于配置Quartz调度器的任务调度时间。其基本语法为:[秒] [分钟] [小时] [日] ...
    99+
    2023-09-26
    Quartz
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作