EL表达式

EL表达式

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

EL基本语法

语法格式如下

${ expression }

EL中的变量

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

${ var }

EL的运算符

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

条件运算符

${a?b:c}

empty运算符

${ 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对象

实例

<%--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

 

 

------本页内容已结束,喜欢请分享------

文章作者
能不能吃完饭再说
隐私政策
PrivacyPolicy
用户协议
UseGenerator
许可协议
NC-SA 4.0


© 版权声明
THE END
喜欢就支持一下吧
点赞28赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片