EL表达式和JSTL标签库使用详解

JavaBean在JSP中的局限

获取JavaBean属性必须要实例化

强制类型转化

<%
    Employee employee = (Employee)request.getAttribute("employee");
    Computer comp = employee.getComputer();
    String manufacturer = comp.getManufacturer();
%>

如果页面编写出现逻辑错误,将会导致代码执行错误,并且JSP页面编译页面时也会产生错误

解决办法

使用EL表达式简化

什么是EL 

EL即Expression Language(表达式语言)

EL的功能

替代JSP页面中的复杂代码

EL的语法

${  EL exprission }

${  bean.name } 或  ${  bean[‘name‘] }

${bean.name}实质是调用bean的getName()方法

注: 1 el通过.和[]来存取数据。  例如${applicationScope.user.userName}或者${applicationScope.user["userName"]}

2 如果存取的属性名称包含一些特殊符号,如"."或者是"-"等非字母或数字符号必须用[]

3 applicationScope.user["user-Name"]

4 如果使用变量来传入,那么也只能使用[].例如

<%String data="username";%>

${applicationScope.user[data]}

5 当然有四个隐含对象:applicationScope,sessionScope,requestScope,pageScope.与application  ,session,request,pageContext相对应.例如applicationScope用
来获取application范围的属性值

自动转换类型 

EL得到某个数据时可以自动转换类型

对于类型的限制更加宽松

使用简单

相比较在JSP中嵌入Java代码,EL应用更简单

EL语法 

以“${”作为开始,以“}”作为结束

直接使用变量名获取值$

${  username }

变量属性范围名称

属性范围            EL中的名称

page pageScope,例如${pageScope.username},表示在page范围内查找username变量,找不到返回Null

request requstScope

session sessionScope

application applicationScope

EL运算符

运算符”[ ]”

运算符”.”

作用:

获取对象属性

获取对象集合中的数据

在Session中保存了一个(list)集合users

简单应用:输出姓名显示

<%

Map names = new HashMap();

names.put("one","LiYang");

names.put("two","WangHua");

request.setAttribute("names",names);

%>

姓名:${names.one}<br/>

姓名:${names["two"] }<br/>

EL隐式对象介绍 

对象名称 说  明

pageScope 返回页面范围的变量名,这些名称已映射至相应的值

requestScope 返回请求范围的变量名,这些名称已映射至相应的值

sessionScope 返回会话范围的变量名,这些名称已映射至相应的值

applicationScope 返回应用范围内的变量,并将变量名映射至相应的值

param 返回客户端的请求参数的字符串值

paramValues 返回映射至客户端的请求参数的一组值

pageContext 提供对用户请求和页面信息的访问

使用了EL表达式可以简化JSP页面代码,但是如果需要进行逻辑判断怎么办?

点击查看JSTL标签库介绍

时间: 2024-10-09 23:07:10

EL表达式和JSTL标签库使用详解的相关文章

Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库

一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成service方法中out.write(表达式或变量) <%!java代码%>:被翻译成servlet的全局的内容,方法,全局变量 2.jsp的运行原理 jsp在运行时翻译成servlet index.jsp------>work/index_jsp.java----->work/inde

JavaWeb基础—EL表达式与JSTL标签库

EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一个小案例: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="com.jiangbei.domain

Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

<转载> 我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供

JAVA Web基础 EL表达式与JSTL标签库

一.EL表达式语言1.EL表达式全称expression language,用于在JSP页面获取其内置对象的内容语法:${...}在jsp中page指令有一个属性是isELIgnored, 用来标记此页面是否忽略EL表达式, 默认为false,即不忽略2.用法说明常规写法举例:<%= request.getAttribute("test")>EL表达式写法:${test}//当作用域属性名都是唯一时可以这么写            ${requestScope.test}/

EL表达式 与 JSTL标签库

EL表达式 什么是el jsp内置的表达式语言 el表达式的作用 代替脚本 el如何获取数据 1.获取域中的数据 简单数据:${域中的key值} 注意:如果多个域中的key值一样 那么取出的顺序? 从范围小的开始查找,查找到以后就返回 如果没有查询到对应的key 返回""(空字符串) 例如: <% pageContext.setAttribute("num", 5); request.setAttribute("num", 1); sess

EL表达式和JSTL标签库

1 EL表达式 1.1 EL的概述 EL,全名为Expression Language. 主要作用: ①EL表达式主要用于替换jsp页面中的脚本表达式,以便于从各种类型的web域中检索java对象(某个web域中的对象),获取数据(访问javabean的属性.访问List集合.访问Map集合.访问数组). ②执行运算. ③利用EL表达式可以在jsp页面中执行一些基本的关系运算.逻辑运算和算数运算,以便于在jsp页面完成一些简单的逻辑运算. ④获取web开发常用的对象. ⑤EL表达式定义了一些隐式

在EL表达式或者Struts标签库中格式化日期对象,即将Date转换为yyyy-MM-dd格式

一.EL表达式 首先,在jsp页面引入<fmt> tags,<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>. 其次,将EL表达式作为fmt标签属性的value值.再增加pattern参数,为日期制定需要格式化的格式,如yyyy-MM-dd.例如: <fmt:formatDate value="${object.dateproperty}&quo

JavaWeb(七)Cookie,EL表达式,标准标签库

Cookie Cookie概述 Cookie译为小型文本文件或小甜饼,Web应用程序利用Cookie在客户端缓存服务器端文件.Cookie是以键值对形式存储在客户端主机硬盘中,由服务器端发送给客户端,客户端再下一次访问服务器端时,服务器端可以获取到客户端Cookie缓存文件. Cookie是由服务器端创建的,然后由服务器端发送给客户端,客户端以键值对形式存储Cookie,并标注Cookie的来源.客户端再次访问服务器端时,存储的Cookie会保存在请求协议中,服务器端可以获取上次存储的缓存文件内

EL表达式、 jstl标签

EL表达式(Expression Language) 目的:为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化. 1.语法结构 ${expression} 2.[ ]与.运算符 EL 提供"."和"[ ]"两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用"[ ]".例如