EL表达式

一、什么是EL

EL(Expression Language)表达式语言 由两个开发团队共同开发 JSP 标准标签库专家组 JSP 2.0 专家组 EL表达式语言的语法 ${Expression} JSP EL 表达式用于以下情形 在JSP页面中输出静态内容 为标准标签和自定义标签提供属性值

img

二、作用(get )
  1. 获取四个作用域中的值 (重要)

    注意:必须首先将信息设置到四个作用域中,然后才能使用EL表达式进行GET,el表达式只能进行get

    ${范围.名称}

    注意:

    • 范围可以省略,省略之后会按照从小到大的范围去查找

    • 名称中如果保含. –等特殊符号,不能使用.访问,要使用${范围[“名称”]}

      <%  
      pageContext.setAttribute("pa", "page");  
      request.setAttribute("re", "request");  
      session.setAttribute("se", "session");  
      application.setAttribute("app", "application");  
      request.setAttribute("r.a", "request1");  
      request.setAttribute("user", new User("admin","123456"));
      %>
      ${pageScope.pa}
      <!-- 相当于pageContext.getAttribute("pa") -->
      ${requestScope.re}
      <!-- 相当于request.getAttribute("re") -->
      ${sessionScope.se}${applicationScope.app}
      <!-- 范围如果省略,会按照从小到大的范围去找 -->
      <!-- 如果说名称中包含。-等特殊符号,访问的时候需要用[]访问 -->
      ${requestScope["r.a"]}
      <!-- 对象.属性,本质调用的是属性对应的getter  user_name==getUser_name()-->
      ${requestScope.user.user_name}
  2. 可以通过pageContext获取其它内置对象

    ${pageContext.session.id}//获取sessionId

    <!-- 得到请求对象 -->${pageContext.request}
    <!-- 得到session对象 -->${pageContext.session}
    <!--   pageContext.getServletContext(),获取application -->${pageContext.servletContext}${pageContext.session.id}
    <!-- 得到请求对象后,再得到项目的根路径 -->${pageContext.request.contextPath}

    所以在项目中的jsp页面中如果引用绝对路径,可以这样写了

    <link type="text/css" href="${pageContext.request.contextPath}/css/bootstrap.min.css" rel="stylesheet"/>  
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.12.3.min.js"></script>  
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>
  3. 获取客户端请求参数的信息

    ${param.请求参数的名称}// 相当于request.getParameter(“userName”)

    ${paramValues. 请求参数的名称}// 相当于request.getParameterValues(“userName”),返回的是一个String类型的数组

    <!-- 得到是一个String -->${param.uname}<br/><!-- 得到是一个String[] -->${paramValues.uname[0]}
  4. 获取请求的头部信息

    ${header.请求头部信息名称}

    ${headerValues.请求头部信息名称}

    如:

    ${header[“User-Agent”]}

    ${headerValues["Accept-Language"][0]}
  5. 获取web应用的配置信息

    ${initParam.名称},

    <%=request.getServletContext().getInitParameter("code")%>

    配置信息在web.xml中配置

    code

    utf-8

  6. 获取cookie中的信息

    ${cookie.cookie名称.value}

    如:

    ${cookie.JSESSIONID.value}

  7. 可以执行各种运算(如关系、逻辑、算术、三目)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值