首页编程java编程java eq是什么意思,Java中的El表达式是什么,怎么用呢可以举例吗

java eq是什么意思,Java中的El表达式是什么,怎么用呢可以举例吗

编程之家2023-10-14118次浏览

大家好,感谢邀请,今天来为大家分享一下java eq是什么意思的问题,以及和Java中的El表达式是什么,怎么用呢可以举例吗的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

java eq是什么意思,Java中的El表达式是什么,怎么用呢可以举例吗

java什么叫“三目条件运算符”

三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。

定义:

对于条件表达式b? x: y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a? b: c? d: e将按a? b:(c? d: e)执行。加括号()是为了方便阅读,不加也是一样的。

java eq是什么意思,Java中的El表达式是什么,怎么用呢可以举例吗

可以理解为"(a<b)?a:b"是一个"条件表达式",它是这样执行的:如果a<b为真,则表达式取a值,否则取b值.条件运算符由两个符号组成"?“和”:",要求有3个操作对象,所以也叫它三目运算符,

(1)它的一般形式为:<表达式1>?<表达式2>:<表达式3>;"?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。

(2)通常情况下,表达式1是关系表达式或逻辑表达式,用于描述条件表达式中的条件,表达式2和表达式3可以是常量,变量或表达式.

java eq是什么意思,Java中的El表达式是什么,怎么用呢可以举例吗

(3)在程序中,通过把条件表达式的值直接赋予某个变量.

A=(b>c)?d:e1

(4)条件表达式的优先级别仅高于赋值运算符,而低于前面遇到过的所有运算符.

因此,min=(a<b)?a:b括号可以不要,可直接写成,min=a<b?a:b如果有x<y?x+1:y-1等效于x<y(x+1):(y-1)而不等效于(x<y?x+1:y)-1

(5)条件运算符的结合方向为"自右至左".

(6)条件表达式允许嵌套,即允许条件表达式中的表达式2和表达式3又是一个条件表达式.例如:下面的例子

EL表达式中使用三目运算符:

单个判断:

${postNum== null? 0: postNum}

Servlet:

PwPersonalDetails personalDetails=pwPersonalDetailsService.

findById(borrowerId);//查询个人信息

request.setAttribute("personalDetails", personalDetails);//传参

jsp:

<div>

<p>有无购车:</p>

<p id="PurchaseCar">

${personalDetails.purchaseCar eq true?"有购车":"无购车"}

</p>

</div>1234567891011121314

EL表达式结合三目运算符多个判断条件写法:

比如:我后台查询出来的borrowMoney(表单)数据有bidTypeId(标种类型)分别为1-7七种:我要传递到前端html给一个p标签根据bidTypeId不同给予不同的名称:

现在直接将多个三目运算符拼成多个条件的写法:

${borrowMoney.bidTypeId eq 1?'信用额度:':(borrowMoney.bidTypeId eq 2?'抵押额度:':(borrowMoney.bidTypeId eq 5?'担保额度:':(borrowMoney.bidTypeId eq 7?'流转额度:':'信用额度:')))}

希望对您有所帮助!~

jsp中$是什么意思怎么用

jsp中${}----是EL表达式的常规表示方式,目的是为了获取{}中指定的对象(参数、对象等)的值如:${user.name}<====>User user=(User)request(搜寻范围).getAttribute(user);String name= user.getName();out.println(name)

从当前页面起开始搜寻 user对象,然后获取改对象的name属性值,其搜寻的范围依次是:page、request、session、application,如果未搜索到,即会返回null值。

扩展资料:

jsp中${}的优缺点:

优点:

1、一次编写,到处运行。除了系统之外,代码不用做任何更改。

2、系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。

3、强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

4、多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

5、支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS组件来实现复杂商务功能。

缺点:

1、与ASP也一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。

2、Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。

参考资料来源:百度百科—jsp

Java中的El表达式是什么,怎么用呢可以举例吗

E L(Expression Language)目的:为了使JSP写起来更加简单。

表达式语言的灵感来自于 ECMAScript和 XPath表达式语言,它提供了在 JSP中简化表达式的方法。它是一种简单的语言,基于可用的命名空间(PageContext属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型)的访问符、映射到 Java类中静态方法的可扩展函数以及一组隐式对象。

EL提供了在 JSP脚本编制元素范围外使用运行时表达式的功能。脚本编制元素是指页面中能够用于在 JSP文件中嵌入 Java代码的元素。它们通常用于对象操作以及执行那些影响所生成内容的计算。JSP 2.0将 EL表达式添加为一种脚本编制元素。

二、JSP EL简介

1、语法结构

${expression}

2、[ ]与.运算符

EL提供“.“和“[ ]“两种运算符来存取数据。

当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[ ]“。例如:

${user.My-Name}应当改为${user["My-Name"]}

如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:

${sessionScope.user[data]}中data是一个变量

3、变量

EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。

因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。

假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。

属性范围在EL中的名称

Page PageScope

Request RequestScope

Session SessionScope

Application ApplicationScope

二、JSP EL中的有效表达式

有效表达式可以包含文字、操作符、变量(对象引用)和函数调用。我们将分别了解这些有效表达式中的每一种:

1、文字

JSP表达式语言定义可在表达式中使用的以下文字:

文字文字的值

Boolean

true和 false

Integer

与 Java类似。可以包含任何正数或负数,例如 24、-45、567

Floating Point

与 Java类似。可以包含任何正的或负的浮点数,例如-1.8E-45、4.567

String

任何由单引号或双引号限定的字符串。对于单引号、双引号和反斜杠,使用反斜杠字符作为转义序列。必须注意,如果在字符串两端使用双引号,则单引号不需要转义。

Null null

2、操作符

JSP表达式语言提供以下操作符,其中大部分是 Java中常用的操作符:

术语定义

算术型

+、-(二元)、*、/、div、%、mod、-(一元)

逻辑型

and、&&、or、||、!、not

关系型

==、eq、!=、ne、、gt、<=、le、>=、ge。可以与其他值进行比较,或与布尔型、字符串型、整型或浮点型文字进行比较。

空操作符是前缀操作,可用于确定值是否为空。

条件型 A?B:C。根据 A赋值的结果来赋值 B或 C。

3、隐式对象

JSP表达式语言定义了一组隐式对象,其中许多对象在 JSP scriplet和表达式中可用:

pageContext

JSP页的上下文。它可以用于访问 JSP隐式对象,如请求、响应、会话、输出、servletContext等。例如,${pageContext.response}为页面的响应对象赋值。

此外,还提供几个隐式对象,允许对以下对象进行简易访问:

术语定义

param

将请求参数名称映射到单个字符串参数值(通过调用 ServletRequest.getParameter(String name)获得)。getParameter(String)方法返回带有特定名称的参数。表达式$(param.name)相当于 request.getParameter(name)。

paramValues

将请求参数名称映射到一个数值数组(通过调用 ServletRequest.getParameter(String name)获得)。它与 param隐式对象非常类似,但它检索一个字符串数组而不是单个值。表达式${paramvalues.name)相当于 request.getParamterValues(name)。

header

将请求头名称映射到单个字符串头值(通过调用 ServletRequest.getHeader(String name)获得)。表达式${header.name}相当于 request.getHeader(name)。

headerValues

将请求头名称映射到一个数值数组(通过调用 ServletRequest.getHeaders(String)获得)。它与头隐式对象非常类似。表达式${headerValues.name}相当于 request.getHeaderValues(name)。

cookie将 cookie名称映射到单个 cookie对象。向服务器发出的客户端请求可以获得一个或多个 cookie。表达式${cookie.name.value}返回带有特定名称的第一个 cookie值。如果请求包含多个同名的 cookie,则应该使用${headerValues.name}表达式。

initParam将上下文初始化参数名称映射到单个值(通过调用 ServletContext.getInitparameter(String name)获得)。

除了上述两种类型的隐式对象之外,还有些对象允许访问多种范围的变量,如 Web上下文、会话、请求、页面:

术语定义

pageScope

将页面范围的变量名称映射到其值。例如,EL表达式可以使用${pageScope.objectName}访问一个 JSP中页面范围的对象,还可以使用${pageScope.objectName.attributeName}访问对象的属性。

requestScope

将请求范围的变量名称映射到其值。该对象允许访问请求对象的属性。例如,EL表达式可以使用${requestScope.objectName}访问一个 JSP请求范围的对象,还可以使用${requestScope.objectName.attributeName}访问对象的属性。

sessionScope

将会话范围的变量名称映射到其值。该对象允许访问会话对象的属性。例如:

$sessionScope.name}

applicationScope

将应用程序范围的变量名称映射到其值。该隐式对象允许访问应用程序范围的对象。

三、特别强调:

1、注意当表达式根据名称引用这些对象之一时,返回的是相应的对象而不是相应的属性。例如:即使现有的 pageContext属性包含某些其他值,${pageContext}也返回 PageContext对象。

2、注意<%@ page isELIgnored="true"%>表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言。

隐含对象数据演示:

EL表达式定义了11个隐含对象,使用这11个对象可以很方便的读取到session,cookie,HttpHeader,用户提交表单(param)等

隐含对象

内容

applicationScope

应用程序范围内的scoped变量组成的集合

cookie

所有cookie组成的集合

header

HTTP请求头部,字符串

headerValues

HTTP请求头部,字符串集合

initParam

全部应用程序参数名组成的集合

pageContext

当前页面的javax.servlet.jsp.PageContext对象

pageScope

页面范围内所有对象的集合

param

所有请求参数字符串组成的集合

paramValues

所有作为字符串集合的请求参数

requestScope

所有请求范围的对象的集合

sessionScope

所有会话范围的对象的集合

下面是获取HTTP访问头部数据和用户提交数据的示例

EL表达式运算结果

${header["host"]}

这里得到HTTP连接头部的host值

${header["accept"]}这里获得HTTP头部的accept值

${header["user-agent"]}这里获得HTTP头部的user-agent值

以下可以读取用户提交的信息,假设用户提交信息为?name=myname&alies=now.net.cn(这里有两种访问方式,一种是使用[]来进行访问,另外一种是使用""来进行访问,两种访问效果是一样的。)

${param["name"]} myname

${param.name} myname

${param["alies"]} now.net.cn

${param.alies} now.net.cn

如果你还想了解更多这方面的信息,记得收藏关注本站。

java源码放什么系统好?java软件开发到底是干什么的开机不显示桌面图标 开机不显示桌面图标 鼠标转圈