java中EL表达式是如何赋值和取值的

java中EL表达式是如何赋值和取值的,第1张

具体赋值需要看你这个界面是怎么请求过来的

在请求过来的代码中找到asmName变量就能知道该变量的值

如果不理解可以多贴出来写代码,帖出来的代码少不能看到你具体的赋值过程

你要明白el表达式是在什么时候执行的

el表达式实际上是java代码, 即jsp里的java代码, 是servlet执行的

也就是说, 后台看到el表达式的时候就执行了, 然后用执行的结果代替这个el表达式, 然后再返回给前台

你写alert("${endtimeMap['8']}");

后台看到的是就是${endtimeMap['8']}这个东西, 然后计算从map里得到对应的值, 代替则个东西, 所以你到前台看到的实际上是map里的值了

如果你写alert("${endtimeMap['"+ff+"']}");, 后台看到的是${endtimeMap['"+ff+"']}, 你觉得后台能把这个解析成什么, 后台会认为你是取map里key值为"\"+ff+\""的value(你要是不信, 你给你的map里添一组这个key-value)

归根结底还是执行顺序的问题, el表达式是servlet是后台执行的, js是得到response后在前台执行的, el优先于js, 你的想法是js先把值穿进去, 然后el表达式再得值, 所以必须不正确了

这样说你应该明白了吧

1、首先在电脑上打开eclipse,这里从controller层传值msg,需要判断msg是edit还是save,如下图所示。

2、进去jsp页面之后,通过<c:if test="${msg eq 'edit'}"></c:if>判断msg是否等于edit,如果等于就显示状态这一行数据,不等于就不显示,注意是单引号。

3、也可以使用el表达式判断与某个数值是否相等,如下图所示。

4、最后用于输出请求获得username参数。Java<%=requestgetParameter(“username”)%>

EL表达式:${paramusername}。

例如:在jsp中获取

<%List<Order>

orderList =(List<Order>)requestgetAttribute("orderList");%>

<%=orderListget(0)getOrderID()%>

方法:可以用 ${ListData[0]属性}获取。

EL表达式简介

EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。

EL语法用法

1、语法结构

${expression}

2、[ ]与运算符

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

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

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

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

${sessionScopeuser[data]}中data 是一个变量

3、变量

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

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

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

以上就是关于java中EL表达式是如何赋值和取值的全部的内容,包括:java中EL表达式是如何赋值和取值的、使用el表达式获取request中map值的问题、对EL表达式中取到的值进行判断后显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9734043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存