EL表达式

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。EL表达式,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1、认识EL表达式

  • 全称(Expression Language)
  • EL表达式提供了获取对象以及属性的简单方法
    Jsp写法:<%= session.getAttribute("name") %>。
    EL表达式写法:"${sessionScope.name}"
    

    注意:
    EL表达式写在JSP的HTML代码中,而不能写在<%与%>之间。

2、EL表达式的格式

  • 用美元符号“$”定界,内容包括在花括弧“{}”中;
    在这里插入图片描述

  • EL表达式提供了获取对象以及属性的简单方法,某些情况下EL表达式完全可以替代JSP脚本或者JSP的行为;

3、EL表达式兼容性问题

三种方法解决EL表达式无法使用的问题:

在默认情况下,Servlet 2.3 / JSP 1.2是不支持EL表达式的,而Servlet 2.4 / JSP 2.0支持。

  • 3.1、第一种修改web.xml文件
    //此处version要达到2.4以上
    <web-app version="3.1"  
    xmlns="http://java.sun.com/xml/ns/javaee"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
    http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd"> 
    
  • 3.2、第二种设置某个jsp页面使用el表达式:需要在jsp页面加上(每个页面都要加,过于繁琐,不推荐)
    <%@ page isELIgnored="false"%>  
    
  • 3.3、第三种web.xml文件中加上下列代码,每个jsp页面都可以使用(推荐使用):
    <jsp-config>  
      <jsp-property-group>  
        <url-pattern>*.jsp</url-pattern>  
        <el-ignored>false</el-ignored>  
      </jsp-property-group>  
    </jsp-config> 
    

4、 EL表达式的基本语法

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

  • 通常情况下两者是通用的:

    ${user.name}
    ${user["name"]}
    
  • “[]”还可以用来对集合元素进行定位:

    ${booklist[0].price}
    
  • 以下两种情况必须使用”[]”:

    1.包含特殊符号:
    ${user.first-name}错误写法
    ${user[“first-name”]}正确写法
    
    2.通过变量动态取值:
    ${user[param]}
    

5、EL的变量

  • EL存取变量数据的方法很简单,例如:${username}。
  • 它的意思是取出某一范围中名称为username的变量。
  • EL表达式的查找顺序
    在这里插入图片描述
  • EL实现获取param中的值
  • app3.jsp
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <form action="app4.jsp" method="post">
        <input type="text" name="user" value="${param.user}" />
        <input type="submit" value="提交" />
    </form>
    
    
    </body>
    </html>
    
    
  • app4.jsp
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    
        <%
        if(request.getParameter("user") != null){
            if(request.getParameter("user").equals("user")){%>
                "欢迎用户"
         <% }else if(request.getParameter("user").equals("admin")){ %>
                "欢迎管理员"
       <%}
        }%>
    
    </body>
    </html>
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

6、EL表达式的隐式对象

在这里插入图片描述

  • 与输入有关的隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象。
  • 例如我们要取得用户的请求参数时,可以利用下列方法:
    request.getParameter(String name)
    request.getParameterValues(String name)
    
  • 在EL中则可以使用param和paramValues两者来取得数据。
     ${param.name}
     ${paramValues.name}
    

7、EL运算符

  • EL运算符允许对数据和文字进行组合比较。
    在这里插入图片描述
  • 最常用的表达式
    为空判断:${empty param.name}
    三元运算:${A?B:C}
    算数运算:${A*(B+C)} 
    
  • 算数运算符:
    在这里插入图片描述
  • 关系运算符:
    在这里插入图片描述
  • 逻辑运算符和其他运算符:
    在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/189473.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!