其他分享
首页 > 其他分享> > JSP 学习笔记 | 三、EL 表达式简述

JSP 学习笔记 | 三、EL 表达式简述

作者:互联网

前文:JSP 学习笔记 | 二、JSP 脚本 & 案例实现 & 缺点分析

前文:JSP 学习笔记 | 一、JSP 原理理解

概述

EL(全称Expression Language )表达式语言,用于简化 JSP 页面内的 Java 代码。EL 表达式既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null。

EL 表达式的主要作用是 获取数据。其实就是从域对象中获取数据,然后将数据展示在页面上。

而 EL 表达式的语法也比较简单,==\({expression}== 。例如:\){brands} 就是获取域中存储的 key 为 brands 的数据。

更多细节推荐在 Runoob(Click Here) 中查阅

代码演示

@WebServlet("/Demo1")
public class ServletDemo extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //准备数据
        List<Brand> brands = new ArrayList<Brand>();
        brands.add(new Brand(1, "三只松鼠", "三只松鼠", 100, "三只松鼠,好吃不上火", 1));
        brands.add(new Brand(2, "优衣库", "优衣库", 200, "优衣库,服适人生", 0));
        brands.add(new Brand(3, "小米", "小米科技有限公司", 1000, "为发烧而生", 1));

        //2. 存储到request域中
        request.setAttribute("brands", brands);
        //3. 转发到 el-demo.jsp
        request.getRequestDispatcher("/el-demo.jsp").forward(request,response);

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

注意: 此处需要用转发,因为转发才可以使用 request 对象作为域对象进行数据共享

域对象

JavaWeb中有四大域对象,分别是:

EL 表达式获取数据,会依次从这4个域中寻找,直到找到为止。而这四个域对象的作用范围如下图所示

image-20210818152857407

例如: ${brands},el 表达式获取数据,会先从page域对象中获取数据,如果没有再到 request 域对象中获取数据,如果再没有再到 session 域对象中获取,如果还没有才会到 application 中获取数据。


标签:EL,request,获取数据,简述,JSP,brands,表达式
来源: https://www.cnblogs.com/RioTian/p/15646789.html