前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EL表达式

EL表达式

作者头像
Andromeda
发布2023-10-21 11:27:03
1740
发布2023-10-21 11:27:03
举报
文章被收录于专栏:Andromeda的专栏

EL表达式是一种简单的数据访问语言,能够快速访问servlet域对象中存储的数据。

EL基本语法

语法格式如下

代码语言:javascript
复制
${ expression }

EL中的变量

EL中的变量不需要预先定义就可以直接使用

代码语言:javascript
复制
${ var }

EL的运算符

算数、比较、逻辑、条件运算符、与其他语言类似

条件运算符

代码语言:javascript
复制
${a?b:c}

empty运算符

代码语言:javascript
复制
${ empty var }

当var没有定义、var为null或者为集合类型对象却不包含任何元素,返回true

EL隐式对象

对象名称

描述

pageContext

JSP页面的pageContext对象

pageScope

page域中保存属性的map对象

requestScope

request域中保存属性的map对象

sessionScope

session域中保存属性的map对象

applicationScope

application域中保存属性的map对象

param

包含所有请求参数的map对象

paramValue

对于某个请求参数返回的是String类型数组

header

保存http头字段的map对象

headerValue

保存http头字段的map对象,返回String类型数组

cookie

保存cookie所有值的map对象

initParam

保存web应用初始化参数的map对象

实例

代码语言:javascript
复制
<%--pageContext--%>
    pageContext.request.requestURL: ${pageContext.request.requestURL} <br>
    pageContext.servletConfig.serverName: ${pageContext.servletConfig.servletName} <br>

<%--web域相关对象--%>
    <% pageContext.setAttribute("userName", "Andromeda"); %>
    <% request.setAttribute("reqName", "El Expression"); %>
    <% session.setAttribute("sessionName", "session"); %>
    <% application.setAttribute("appName", "test of el expression"); %>
    page scope name: ${pageScope.userName} <br>
    request scope name: ${requestScope.reqName} <br>
    session scope name: ${sessionScope.sessionName} <br>
    application scope name: ${applicationScope.appName} <br>

<%--用户的请求参数--%>
<%--单个值--%>
<%--测试参数?num1=2&num2=4&num=1&num=3--%>
    num1: ${param.num1}<br>
    num2: ${param.num2}<br>
    sum: ${param.num1 + param.num2}<br>
<%--多个值--%>
    num: ${paramValues.num[0]} and ${paramValues.num[1]}<br>
    sum: ${paramValues.num[0]+paramValues.num[1]}<br>

<%--cookie对象--%>
<%--        响应中添加cookie
            第二次访问能看到cookie
--%>
    <%
        Cookie cookie = new Cookie("name", "Andromeda");
        response.addCookie(cookie);
    %>
    ${cookie.name} = ${cookie.name.value} <br>

测试的参数为?num1=2&num2=4&num=1&num=3,结果如下

3d69cea37936
3d69cea37936
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • EL基本语法
  • EL中的变量
  • EL的运算符
  • EL隐式对象
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档