EL以及JSTL

EL工具包介绍由Java技术开发一个jar包作用:降低JSP文件开发时Java命令开发强度Tomcat服务器本身自带了EL工具包(Tomcat安装地址/lib/el-api.jar)JSP相关知识本文中有JSP规范的相关介绍EL表达式1.命令格式:${作用域对象别名.共享数据}2.命令作用:1)EL表达式是EL工具包提供一种特殊命令格式【表达式命令格式】2)EL表达式在JSP文件上使用3)执行时从指定的【作用域对象】中读取指定【共...
摘要由CSDN通过智能技术生成

EL工具包介绍

由Java技术开发一个jar包

作用:降低JSP文件开发时Java命令开发强度

Tomcat服务器本身自带了EL工具包(Tomcat安装地址/lib/el-api.jar

JSP相关知识本文中有JSP规范的相关介绍

EL表达式

 1.命令格式:${作用域对象别名.共享数据}
 2.命令作用:
       1)EL表达式是EL工具包提供一种特殊命令格式【表达式命令格式】
       2)EL表达式在JSP文件上使用
       3)执行时从指定的【作用域对象】中读取指定【共享数据】的内容并自动的写入到响应体

EL表达式作用域对象别名

1.JSP文件可以使用的作用域对象

    1) ServletContext     application:  全局作用域对象

    2) HttpSession        session:      会话作用域对象

    3) HttpServletRequest request:      请求作用域对象

    4) PageContext        pageContext: 当前页作用域对象

    这是JSP文件独有的作用域对象。Servlet中不存在

    在当前页作用域对象存放的共享数据仅能在当前JSP文件中使用,不能共享给其他Servlet或则其他JSP文件

真实开发过程,主要用于JSTL标签与JSP文件之间数据共享数据

    JSTL------->pageContext---->JSP

2.EL表达式提供作用域对象别名

          JSP                       EL表达式

      application               ${applicationScope.共享数据名}

      session                   ${sessionScope.共享数据名}

      request                   ${requestScope.共享数据名}

      pageContext               ${pageScope.共享数据名}

下面用代码演示一下分别使用java代码和EL表达式在JSP中实现共享数据的读取

Servlet

public class OneServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //分别将共享数据添加到作用域对象
        //全局作用域对象
        ServletContext application=request.getServletContext();
        //会话作用域对象
        HttpSession session=request.getSession();

        application.setAttribute("sId",10);
        session.setAttribute("sName","mike");
        request.setAttribute("home","北京");
        //通过请求转发的方式调用index_1.jsp,由index_1.jsp负责将作用域对象共享数据读取并写入响应体中
        request.getRequestDispatcher("/index_1.jsp").forward(request,response);
    }
}

使用Java代码读取共享数据

<%
    //读取全局作用域对象中的共享数据
    Integer sId=(Integer) application.getAttribute("sId");
    //读取会话作用域对象中的共享数据
    String sName=(String)session.getAttribute("sName");
    //读取请求作用域对象中的共享数据
    String home=(String)request.getAttribute("home");
%>
sId:<%=sId%><br/>
sName:<%=sName%><br/>
home:<%=home%><br/>

使用EL表达式

学员Id:${applicationScope.sId}<br/>
学员姓名:${sessionScope.sName}<br/>
学员地址:${requestScope.home}<br/>

很明显EL表达式简化了在JSP文件中读取共享数据的步骤

EL表达式将引用对象属性写入响应体中

1.命令格式: ${作用域对象别名.共享数据名.属性名}
2.命令作用: 从作用域对象读取指定共享数据关联的引用对象的属性值。并自动将属性的结果写入到响应体
3.属性名: 一定要去引用类型属性名完全一致(大小写)
4.EL表达式没有提供遍历集合方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值