JavaEE学习笔记之Servlet/JSP—EL表达式

EL表达式(Expression Language表达式语言)

主要作用是产生无脚本的JSP页面,即产生无Java代码的JSP页面。

1.在页面中输出内如:

${express }

获取request的参数:

${param.username }

JavaBean也可以使用:

${bean.attribute }

从Session中获取数据:

${sessionScope.username }

2、操作符

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

这里写图片描述

例:

${1 + 2 * 3 } 结果为7

特殊运算符:

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

${sessionScope.user.username }
${sessionScope.user["username"] }

必须使用特殊运算符的情况:

① 当要存取的属性名称包含特殊字符,如.或-时,就只能使用[],例如:
${user["user-name"] }
② 当需要动态取值时,使用[]
${user["attributeName"] }

3、隐式对象

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

这里写图片描述

这里写图片描述

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

这里写图片描述

注意:

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

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

4.EL表达式查找顺序:

${username } 默认从Page范围找,如果找不到再从Request,Session,Application范围找,最后如果都找不到则返回null。

例子:

1、例如,

< %=request. getParameter(“username”)% > 等价于 ${ param. username }

2、例如,但是下面的那句EL语言可以完成如果得到一个username为空,则不显示null,而是不显示值。

<%=user.getAddr( ) %> 等价于 ${user.addr}。

3、例如:

<%=request.getAttribute(“userlist”) %> 等价于$ { requestScope.userlist }

4、例如,原理如上例3。

${requestScope.userlist} 1

${sessionScope.userlist} 2

${applicationScope.userlist} 3

${pageScope.userlist} 4

${uselist} 含义:执行顺序为4 1 2 3。

“.”后面的只是一个字符串,并不是真正的内置对象,不能调用对象。

4、例如,

<%=user.getAddr( ) %> 等价于 ${user.addr}

第一句前面的user,为一个变量。

第二句后面user,必须为在某一个范围里的属性。

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值