EL表达式

在JSP中访问模型对象是通过EL表达式的语法来表达。所有EL表达式的格式都是以“${}”表示。例如,${userinfo}代表获取变量userinfo的值。
当EL表达式中的变量不给定范围时,则默认在page范围查找,然后依次在request、session、application范围查找。也可以用范围作为前缀表示属于哪个范围的变量,例如:${pageScope. userinfo}表示访问page范围中的userinfo变量。

  • EL表达式取值:就是通过调用get方法实现。
    ${对象名(如user对象).属性名(Model必须有get方法)}

1、[ ]与.运算符

  • EL 提供“.“和“[ ]“两种运算符来存取数据。${user.name}相当于${user["name"]}
  • 属性名称中包含一些特殊字符,就要使用[""]
  • 动态取值时,就要使用“[ ]“。${sessionScope.user[data]}中data 是一个变量

2、属性范围

属性范围在EL中的名称定义
PagePageScope将页面范围的变量名称映射到其值。${PageScope. xxx}
RequestRequestScope将请求范围的变量名称映射到其值。${RequestScope. xxx}
SessionSessionScope将会话范围的变量名称映射到其值。${sessionScope. xxx}
ApplicationApplicationScope将应用程序范围的变量名称映射到其值。${ApplicationScope. xxx}
  • EL取值会依序从Page、Request、Session、Application范围查找。途中找到,不再继续找下去。
  • cookie:cookie 中有名称为name的值,EL取值为${cookie.name }

3、pageContext

作用JSP表达式EL的写法
当前工程路径<%=request.getContextPath() %>${pageContext.request.contextPath}
请求资源路径<%=request.getContextURL() %>${pageContext.request.contextURL}
访问者的IP<%=request.getRemoteAddr() %>${pageContext.request.remoteAddr}
当前会话的ID<%=request.getSession().getId() %>${pageContext.request.session.id}

4、操作符

术语定义
算术型+、-(二元)、*、/、div、%、mod、-(一元)
逻辑型and、&&、or、||、!、not
关系型==、eq、!=、ne、<、lt、>、gt、<=、le、>=、ge
empty 空操作符是前缀操作,可用于确定值是否为空
条件型A ?B :C。根据 A 赋值的结果来赋值 B 或 C

5、特别强调

  • 注意 <%@ page isELIgnored="true" %> 表示是否禁用EL语言。
    TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言。
  • 全局禁用EL表达式,在web.xml中进行如下配置:
    <jsp-config>
    <jsp-property-group>
    <url-pattern>*.jsp</url-pattern>
    <el-ignored>true</el-ignored>
    </jsp-property-group>
    </jsp-config>

6、实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值