在JSP2.0中使用EL表达式语言

EL(表达式语言)是一种数据访问语言,可以方便地访问和处理应用程序数据,而无需使用scriptlet或者请求时(request-time)表达式的值。(不需要使用来获得数据,EL使JSP页面编写人员摆脱了java语言,使用户即使不懂JAVA也可以轻松编写JSP程序

    tomcat5.0默认支持EL,同时用户可以在Web.xml文件中对整个web应用程序进行设置或者在每个页面中单独设置page指令来控制TOMCAT是否对EL的支持。 有了JSP2.0,就可以使用EL扩展表达式了。对于一个单个JSP页面,你可以使用定义page指令来设置jsp页面是否支持EL。默认是支持EL(如果要页面不支持EL,请设置为isELIgnored=true; < %@ page isELIgnored="true|false"%>  ;对于整个JSP应用程序,要修改WEB.XML配置(tomcat5.0.16默认是支持EL的);
< jsp-property-group>  
< description> For config the ICW sample application< /description>  
< display-name>JSPConfiguration< /display-name>  
< url-pattern>/jsp/datareset.jsp< /url-pattern>  
< el-ignored>true<  / el-ignored>  
< page-encoding>ISO-8859-1< /page-encoding>  
< scripting-invalid>true< /scripting-invalid>  
< include-prelude>/jsp/prelude.jspf< /include-prelude>  
< include-coda>/jsp/coda.jspf< /include-coda>  
< /jsp-property-group> 
EL表达式运算符包括算数运算符(+-*/),关系运算符(>< )和逻辑运算符(&& || !),还有empty 判断值是否为空,同时EL能够对字符串,数字等各种类型的数据之间的自动转换.
JSP2.0中各种运算符运算实例

以下是EL运算符列表,+ 加 - 减 * 乘 /或div 除 % 或 mod 模(求余) == 或 = 等于 ;
!= 或 != 不等于 <  或 lt 小于 >或gt 大于 < =或le 小于等于 >=或ge 大于等于 ;
&& 或 and 逻辑与 || 或 or 逻辑或 ! 或 not 逻辑非 empty 检查是否为空值 ;
a ? b : c 条件运算符 ;EL表达式使用简单,在网页中"${}"表示是EL表达式。${1+1} 显示为 2 .

内置的11个隐含对象:
为方便的获得WEB应用程序的相关数据,EL表达式语言定义了一些隐含对象。隐含对象共有11个对象,(JSP中具有9个隐含对象,EL比JSP中具有更多的隐含对象,这样EL比JSP更方便的获取数据) 使用这些对象可以很方便的访问Web 程序数据。
隐含对象包括Session(获得当前web程序的Session值),cookie(获得WEB程序的Cookie值),header,headerValues(获得用户的Http数据访问头部信息),Param和ParamValues(获得用户提交数据参数)等。
使用${隐含对象名称["元素"]} 就可以获得这个值了,例如${header("host")} 可以显示http头部中host的值,${param("username")},可以获得显示用户表单提交的用户. 使用${empty(param("username")} 可以判断用户提交表单是否为空等。(这样比jsp1.2中使用request.getParamter("username") 要简化和方便很多了)
EL 表达式定义了11个隐含对象,使用这11个对象可以很方便的读取到session,cookie,HttpHeader,用户提交表单(param)等.
applicationScope 应用程序范围内的scoped变量组成的集合
cookie 所有cookie组成的集合
header HTTP请求头部,字符串
headerValues HTTP请求头部,字符串集合
initParam 全部应用程序参数名组成的集合
pageContext 当前页面的javax.servlet.jsp.PageContext对象
pageScope 页面范围内所有对象的集合
param 所有请求参数字符串组成的集合
paramValues 所有作为字符串集合的请求参数
requestScope 所有请求范围的对象的集合
sessionScope 所有会话范围的对象的集合

下面是获取HTTP访问头部数据和用户提交数据的示例
EL表达式 运算结果
${header["host"]} 这里得到HTTP连接头部的host值
${header["accept"]} 这里获得HTTP头部的accept值
${header["user-agent"]} 这里获得HTTP头部的user-agent值

访问应用程序数据
除了可以方便的访问内置的隐含对象外,EL还可以方便的到应用程序数据,访问应用程序数据使用两种方式 . (点号运算符)访问对象的属性,也可以使用[] 来访问数组元素(实际上EL中访问隐含对象数据也是使用这两种方式的)
表达式${data}表示名为data的scoped变量。可以使用点号(.)或方括号([])运算符从集合中检索属性值:(两种数据访问方式演示)
点号运算符用于访问命名的属性,比如表达式${customer.name}表示scoped变量customer的name属性;
方括号运算符可用于检索命名的属性,比如在${customer[“name”]}中。也可以通过${customers[0]}的形式来访问集合customers中的第一项。
EL表达式语言同时还统一了对点号和方括号运算符的处理,因此${customer.name}与${ customer[“name”]}是等价的。
以下可以读取用户提交的信息,假设用户提交信息为 ?name=myname&alies=now.net.cn(这里有两种访问方式,一种是使用[]来进行访问,另外一种是使用"."来进行访问,两种访问效果是一样的。)
${param["name"] } myname  
${param.name} myname  
${param["alies"] } now.net.cn  
${param.alies} now.net.cn 

访问应用程序数据需要进行以下几个步骤:
1.编写public类的static public 方法,只有static public的方法才能被标记表达试访问。
JSP2.0中定义和使用函数
表达式语言允许你定义可在表达式中调用的函数。函数必须作为public类中的public static方法编写。同时要将文件映射到TLD标志库文件中。
为了说明函数的使用,我们举一个简单的例子,把两个数相加。首先要编写求两数之和的Java方法代码,如代码示例所示,这里定义了一个静态方法,它接收两个字符串参数,把它们解析成整数并返回它们的和。
示例文件:Compute.java
package jsp2.examples.el;   import java.util.*;   public class Compute {   public static int add(String x, String y) {   int a = 0;   int b = 0;   try {   a = Integer.parseInt(x);   b = Integer.parseInt(y);   }catch(Exception e) {}   return a + b;   }   }  用javac把这段代码编译成功后,下一步就要把函数的签名映射到标签库。

2.将方法映射到TLD表中
配置标记库描述文件 函数描述符
< function>   < description>add x and y< /description>   < name>add< /name>   < function-class>jsp2.examples.el.Compute   < /function-class>   < function-signature>int   add(java.lang.String,java.lang.String)   < /function-signature>   < /function>  现在我们就可以编写一个JSP页面来使用这个函数。代码示例5是包含两个字段的一个表单,用户输入两个数字并按下“求和”按钮,就会调用上面的函数并把两个数相加,结果在同一个页面中显示出来。

3.在JSP页面中调用要引用的Taglib标记,然后就可以在jsp页面中访问了。
代码示例5: math.jsp
< %@ taglib prefix="my"   uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib %>
< HEAD>  
< TITLE>Functions< /TITLE>  
< /HEAD>  
< BODY>  
< H3>Add Numbers< /H3>   < P>  
< FORM action="math.jsp" method="GET">   X =
< input type="text" name="x" value="${param["x"]}">   < BR>   Y =
< input type="text" name="y" value="${param["y"]}">  
< input type="submit" value="Add Numbers">   < /FORM>  
< P>   The sum is: ${my:add(param["x"],param["y"])}  
< /BODY>   < /HTML> 

 

补充:获取list的长度

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions"  prefix="fn"%>

  ${fn:length(rowList)}

 

基于Simulink建模仿真的滑模控制的磁悬浮轴承稳定控制仿真 磁悬浮轴承(Magnetic Bearing)利用电磁力来支撑和定位转子,无需机械接触,因此在高速旋转设备中具有广泛应用。滑模控制(Sliding Mode Control, SMC)是一种鲁棒性强的非线性控制方法,适用于磁悬浮轴承的精确控制。以下是基于Simulink的磁悬浮轴承滑模控制系统的详细设计与仿真步骤。通过上述步骤,设计并实现了基于 Simulink 和 Control System Toolbox 的磁悬浮轴承滑模控制系统。 阅读详情

相关推荐

SFR算法实现详解:从边缘检测到MTF计算的完整流程

本文详细解析了SFR算法从边缘检测到MTF计算的完整流程,包括边缘检测、ESF超采样、LSF差分等关键步骤。通过代码示例和实战经验,帮助开发者高效实现成像系统解析力评估,优化MTF测量精度。适用于摄像头模组调试、工业检测等场景。

Black的专栏 1009

JSP中使用EL表达式

原文地址: JSP中使用EL表达式 JSP 表达式语言--菜鸟教程 EL表达式简介

justlpf的专栏 3162

Android音频子系统分析-car_audio_configuration.xml

先附上一个例子,再逐一解释。概括来说,该文件描述了车里有哪些区域,每个区域划分了多少组,每个组包含了哪些设备,每个设备接收哪些类型的音频流。

不定时记录分享一些有用没用的东西 989

JavaWeb 之 11.JSP及EL表达式EL函数

## JSP的技术 JavaBean规范(封装数据) EL的表达式 ## **JSP技术简介**          1.JSP -- Java Server Pages (java 服务器端的网页们)     2.JSP编写HTML代码 + Java代码 + JSP的代码 它不用配置     3.JSP的执行原理:JSP编写完代码,第一次访问的时候,把JSP的文件翻译成.java的文件 -- ...

紫陌520的博客 593

metaRTC嵌入式webrtc编译指南

metaRTC编译支持qmake和cmake,qmake使用QT最为方便,新版本新增了cmake支持。 ...

metaRTC的博客 9518

实战Nocobase插件开发:如何用yarn pm命令快速创建和测试API接口插件

本文详细介绍了如何使用Nocobase插件开发工具快速创建和测试API接口插件,涵盖从环境配置、插件骨架生成到数据模型定义和接口实现的完整流程。通过yarn pm命令简化开发步骤,帮助开发者高效构建支持CRUD的API插件,适用于低代码平台开发场景。

weixin_29313239的博客 457

JSP:使用EL表达式调用java函数

JSP:使用EL表达式调用java函数 使用一个例子 编写一个使用JSP表达式语言的JSP程序,输入一个数字,提交后输出该数字的九九乘法表。 java代码实现打印9*9乘法表  Solution.java package method; public class Solution { public static String Mul99(int

润丰 9109

QGroundControl实现多机控制

前言 作为西安电子科技大学的本科生一名,目前在研究关于无人机导航规划与轨迹控制方面。 目前在跟导师做关于雷达无人机的一个项目,在这里记录一下关于QGC地面站实现多机控制的一些方法。 某些地方写的可能不是很完善,欢迎大家补充。 目前该文章还未写完,后期本人会继续编写 多机控制原理 多机地面站支持TCP,UDP和串口等三种连接方式,首先我们需要对这两种连接方式抽象出一个基类LinkInterface,提供两个虚函数分别对应于数据接受和发送处理,针对于不同的连接方式实现TCP,UDP和串口连接相对应的子类TCPL

Phillweston的博客 8429

JSP之EL表达式

EL表达式用法 一、首先,弄清楚request对象的getParameter()方法和getAttribute()方法的区别。 getParameter()方法用来接收从前台传来的数据,它根据页面表单组件名称获取页面提交的数据。 例如:registe.jsp页面 用户名:<input type="text" name="username"/> registesuccessful.js...

weixin_45716265的博客 237

Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法

Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法 目录 Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法 一、简单介绍 二、实现原理 三、注意事项 四、效果预览 五、实现步骤 六、关键代码 一、简单介绍 Unity中的一些基础知识点。 本节介绍,Asset Bundle 在 Unity中的使用,入门第一篇,如何AssetBundle标记,如何打包成AssetBundle的操作方法,有不对的地方欢迎指正。...

仙魁XAN 1万+

FAA和EASA在机载电子硬件适航中的发展历史与差异

FAA和EASA在机载电子硬件的适航审查中虽然存在一些差异,但通过近年来的合作,这些差异正在逐步缩小。两者通过。

qq_41854911的博客 745

上机指导第六章

上机指导第六章

weixin_56845253的博客 1512

Dify智能体开发:发布嵌入网站

Dify 支持将你的 AI 应用嵌入到业务网站中,你可以使用该能力在几分钟内制作具有业务数据的官网 AI 客服、业务知识问答等应用。点击 WebApp 卡片上的嵌入按钮,复制嵌入代码,粘贴到你网站的目标位置。

王国平的博客 3245

【转】在JSP2.0中使用EL表达式语言

本文讲述在JSP2.0中使用EL表达式语言。在JSP2.0之前,网页作者只能使用表达式&lt; %= aName %&gt;访问系统的值。而JSP2.0中可以使用EL数据访问语言,从而方便地访问和处理应用程序数据。 AD:2013云计算架构师峰会课程资料下载   EL(表达式语言)是一种数据访问语言,可以方便地访问和处理应用程序数据,而无需使用scriptlet或者...

BigDragon 160

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

在JSP2.0中使用EL表达式语言详解用法

E L(Expression Language) 目的:为了使JSP写起来更加简单。 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。它是一种简单的语言,基于可用的命名空间(PageContext 属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型)的访问符、映射到 Java 类中静态方法的可扩展函数以及一组隐式对象...

用笑掩饰伤痕 310

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

JSP系列七:JSP表达式(EL表达式)

 一,表达式语言:Expression Language 生成动态内容的简洁方式。 1,JSP2.0最重要的二项特征:JSP语法定义定制标签和表达式语言。 2,为了计算和输出存储在标准位置的java对象的值。  * 语法简单有效。  * 条件输出。  * 精确访问存储对象。  * bean属性的简略使用。  * 对集合元素的简单访问。  * 对请求参数,cookie和其他请求数据的

自强 3417

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

EL表达式

EL 表达式语言(EL)是JSP 2.0新增的功能。它是一种简洁的数据访问语言,通过它可以在JSP页面中方便地访问应用程序数据,无需使用JSP表达式(<%=和%>)以避免出现JSP脚本 EL的特点是访问数据可以使用点(.)运算符或方括号([])运算符 EL格式及分类 即时计算 格式: $ { 表达式 } 以"${“起始、以”}" 结尾的字符串 表达式由变量、隐含对象和运算符等组成...

MP-214的博客 275

EL表达式的使用

在JSP 2.0的页面中,我们使用下面形式的元素调用表达式语言: ${expression} EL可以出现在JSP页面的模板文本中,也可以出现在JSP标签的属性中。 下面是在JSP模板文本中使用表达式:   客户名:${customer.custName}   Email地址:${customer.email}   下面是在JSP标准动作的属性中使用EL表达式: 表

Blue的博客 4038

什么是EL表达式,EL举例,EL使用,EL概念

 什么是EL表达式?EL表达式:expression language,即表达语言,它是为了便于存取数据而定义的一种语言,JSP2.0之后才成为一种标准。形式:以“${”开头,以“}”结尾,通过PAGE指令来说明是否支持EL表达式,具体举例: //声明可以使用EL表达式,如果为"ture",则表示忽略${,即不能使用EL表达式。 EL int count=0; %> ${coun

Defonds 的专栏 3093

JSP EL表达式

EL(表达式语言)是在JSP2.0版本中引入的新特性。 它用于JSP文件中的数据访问,它可以简化JSP文件中数据访问的代码。使JSP页面写起来更简单。 可以代替传统的“”形式的java表达式。 语法结构 ${expression} []与.运算符 EL提供"." 和"[]"两种运算符存取数据。当要存取的属性名称包含一些特殊字符,如 . 或 -等并非字符或数字的符号,就一定要

dream_heheda的博客 382

EL表达式语言

1、 什么是表达式语言 表达式语言(Expression Language , EL) 是 JSP2.0 中引入的一种计算和输出存储在标识位置的 JAVA 对象值的标记语言。   2、 EL表达式的主要功能 精确的访问存储对象值、Bean 属性的简略记法、空值 ( 字符串空而非 null) 取代错误消息   3、 E...

chenguangyun123的博客 151

JSP 2.0 使用指南

JSP 2.0 使用指南  如果Web服务器支持, JSP2.0 是最通用方便的模板语言.1.使用Servlet2.4/jsp2.01. 确定Web Container支持Serverlet2.4, 复制jstl-1.1.2.jar,standard-1.1.2.jar到web-inf/lib (可打开jar的meta-inf来看具体版本)。2. 在web.xml,Root节点改为3.在jsp中,对core,ftm taglib的引入改为  (留意多了uri里多了jsp)<%@ taglib pref

只管登山,不向上看 560

Jsp 2 新特性、el表达式

简述:相比 jsp1.2 ,jsp 2 主要增加了以下特性: 直接配置JSP属性 表达式语言 简化的自定义标签API Tag 文件语法 要使用JSP2 语法,其web.xml 文件须使用Servlet 2.4 以上的版本配置。 如:<!-- 不再使用DTD,而用Schema 描述 --> <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="

缄默无言,存念于心 377

JSTL标签EL表达式学习

EL(Expression Language)表达式语言:用于计算和输出存储在标志位置(page、request、session、application)的java对象的值; EL是JSP2.0规范的一部分,只要容器支持Servlet2.4/JSP2.0,就可以在JSP2.0网页中直接使用EL。   基本格式:${表达式} 所有的EL都是以“${”开始,以“}”结尾 表达式与开始

会飞的小祥 586
上一篇: DisplayTag的使用
下一篇: How to use UrlReWriteFilter
danwind
博客等级 码龄19年 6粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值