jsp中EL标签怎样使用?

jsp中EL标签怎样使用?
最新回答
夏七言〃

2021-03-04 05:42:04

1.语法结构
${expression}
2.[]与.运算符
EL 提供.和[]两种运算符来存取数据。
pageScope, requestScope, sessionScope, appliationScope都可以看作是Map型变量,
调用其中的数据可以使用${pageScope.name}或${pageScope["name"]}的形式,这两种写法是等价的。
在某些情况下只能使用${pageScope["content-type"]},这里不能写成${pageScope.content-type},jsp无法解析连字符(-)会出现错误。

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

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

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

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

3.变量
使用el的时候,默认会以一定顺序搜索四个作用域,将最先找到的变量值显示出来。

如果我们有${username}这样一个正则表达式,
它回去依次调用
pageContext.getAttribute("username")
-> request.getAttribute("username")
-> session.getAttribute("username")
-> application.getAttribute("username"),
只要找到某一个不为空的值就立刻返回。
这样的确方便我们的操作,但是随之也出现了另外一个问题,
如果pageContext和request中有同名变量,
但是我想取得request中的变量该如何是好呢?这就需要为el表达式引入作用域的概念了。
${pageScope.username}
${requestScope.username}
卿弦季鸢

2020-07-28 08:09:20

在jsp里面首先定义一个变量<% int a=8; %>
用jsp里面自带的表达式是这样把a输出的<% =a; %>
但是用EL表达式的话应该这样输出 ${a}, 这里需要注意的是没有“=”,并且没有分号“;”
守护在此方

2022-11-14 09:18:17

<%@page isELIgnored="false"%> 使用EL表达式
${"Hello"}美元符开始 页面输出"Hello"字符串
EL表达式可以输出变量的值等,目的就是简化在JSP中访问变量