Java Web学习笔记11:JSTL与EL

会有一股神秘感。 提交于 2020-01-30 06:24:24

一、JSTL概述

JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。根据JSTL标签所提供的功能,可以将其分为5个类别:核心标签、格式化标签、SQL 标签、XML 标签、JSTL 函数。

关于如何导入JSTL核心标签库以及核心标签基本使用方法可以参看Web学习笔记03:JSP元素。

二、EL概述

1、为什么需要EL?
JavaBean在JSP中的局限,获取JavaBean属性必须要实例化,还得强制类型转化。

<%
Employee employee = (Employee) request.getAttribute(“employee”);
Computer comp = employee.getComputer();
String manufacturer = comp.getManufacturer();
%>
2、什么是EL表达式?
(1)EL的含义
Expression Language(表达式语言)

(2)EL的功能
替代JSP页面中的复杂代

(3)EL的语法
${ EL exprission }
${ bean.name } 或 bean[name]{ bean['name'] },{bean.name}实质是调用bean的getName()方法
[ ]或 . 运算符获取对象属性、获取对象集合中的数据
例如,在Session中保存了一个(list)集合users,${sessionScope.user[1]}

(4)EL的特点
自动转换类型
EL得到某个数据时可以自动转换类型
对于类型的限制更加宽松
使用简单
相比较在JSP中嵌入Java代码,EL应用更简单

三、案例演示:标签库与表达式语言

1、创建Web项目JSTLELDemo

在这里插入图片描述
2、在web目录里创建首页文件index.html
在这里插入图片描述
3、在web目录里创建演示页面demo01.jsp
在这里插入图片描述

<%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2020/1/6
  Time: 14:01
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>EL演示01</title>
</head>
<body>
<%
    String username = "李元霸";
    pageContext.setAttribute("username","张三丰");
    request.setAttribute("username","李世民");
    session.setAttribute("username","郑晓雯");
    application.setAttribute("username","唐雨涵");

%>
利用JSP表达式输出变量的值<br/>
姓名:<%= username%><br/>
姓名:<%=pageContext.getAttribute("username")%><br/>
姓名:<%=request.getAttribute("username")%><br/>
姓名:<%=session.getAttribute("username")%><br/>
姓名:<%=application.getAttribute("username")%><br/>
利用EL表达式输出变量的值<br/>
姓名:${username}
姓名:${pageContext.username}
姓名:${requestScope.username}
姓名:${sessionScope.username}
姓名:${applicationScope['username']}
</body>
</html>

4、启动查看效果
在这里插入图片描述
在这里插入图片描述
报错!!!待解决!!!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!