热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JSP页面中EL表达式语言的使用详解

JavaBean在JSP中的局限获取JavaBean属性必须要实例化强制类型转化
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}

姓名:${names["two"] }

技术分享

技术分享

EL隐式对象介绍 


对象名称 说  明
pageScope 返回页面范围的变量名,这些名称已映射至相应的值
requestScope 返回请求范围的变量名,这些名称已映射至相应的值
sessionScope 返回会话范围的变量名,这些名称已映射至相应的值
applicationScope 返回应用范围内的变量,并将变量名映射至相应的值
param 返回客户端的请求参数的字符串值
paramValues 返回映射至客户端的请求参数的一组值
pageContext 提供对用户请求和页面信息的访问



JSP页面中EL表达式语言的使用详解


推荐阅读
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 3DSMAX制作超现实的体育馆模型
    这篇教程是向脚本之家的朋友介绍3DSMAX制作超现实的体育馆模型方法,教程制作出来的体育馆模型非常地不错,不过教程有点难度,需要有一定基础的朋友学习,推荐到脚本之家,喜欢的朋友可 ... [详细]
  • 本文介绍了如何在AngularJS应用中使用ng-repeat指令创建可单独点击选中的列表项,并详细描述了实现这一功能的具体步骤和代码示例。 ... [详细]
  • 在项目冲刺的最后一天,团队专注于软件用户界面的细节优化,包括调整控件布局和字体设置,以确保界面的简洁性和用户友好性。 ... [详细]
  • JavaScript 页面卸载事件详解 (onunload)
    当用户从页面离开时(如关闭页面或刷新页面),会触发 onunload 事件,此时可以执行预设的脚本。需要注意的是,不同的浏览器对 onunload 事件的支持程度可能有所不同。 ... [详细]
  • 默认情况下,Git 使用 Nano 编辑器进行提交信息的编辑,但如果您更喜欢使用 Vim,可以通过简单的配置更改来实现这一变化。本文将指导您如何通过修改全局配置文件来设置 Vim 作为默认的 Git 提交编辑器。 ... [详细]
  • 探索Java 11中的ZGC垃圾收集器
    Java 11引入了一种新的垃圾收集器——ZGC,由Oracle公司研发,旨在支持TB级别的内存容量,并保证极低的暂停时间。本文将探讨ZGC的开发背景、技术特点及其潜在的应用前景。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 本文详细介绍了C++中的构造函数,包括其定义、特点以及如何通过构造函数进行对象的初始化。此外,还探讨了转换构造函数的概念及其在不同情境下的应用,以及如何避免不必要的隐式类型转换。 ... [详细]
  • 数据类型--char一、char1.1char占用2个字节char取值范围:【0~65535】char采用unicode编码方式char类型的字面量用单引号括起来char可以存储一 ... [详细]
  • 本文详细介绍了iOS应用的生命周期,包括各个状态及其转换过程中的关键方法调用。 ... [详细]
  • 项目风险管理策略与实践
    本文探讨了项目风险管理的关键环节,包括风险管理规划、风险识别、风险分析(定性和定量)、风险应对策略规划及风险控制。旨在通过系统的方法提升项目成功率,减少不确定因素对项目的影响。 ... [详细]
author-avatar
心情爱心_634
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有