介绍
EL(Expression Language,表达式语言)是JSP2.0引入的,它可以与Scriptlets一起使用,也能和JSTL一起使用。EL擅长寻找对象及其属性,然后对这些对象的属性进行简单的操作。它严格来说不是一门编程语言,但它却能使用很简单的符号来表示复杂的行为。
考试中单独考EL的题目比较少,更多时候是作为一个小知识点放在其他题目里一起考,而且考查时隐含对象考得比较多,希望大家注意。
表达式的语法
EL中的语法主要包括以下几个部分:
1)变量:在EL中使用变量十分容易,使用形如“${表达式}”的形式即可,如${userName}表示在某一范围内取出名称为useName的变量值,当没有指明范围的时候,会依照page->request->session->application的范围一直搜索,一旦找到则返回其值,如果没有找到则返回null。当然也可以显式地指明范围,在EL中的属性范围有:
a)pageScope
b)requestScope
c)sessionScope
d)applicationScope
比如${sessionScope.userName}表示在session范围内寻找userName变量并返回其值,相当于JSP中的session.getAttribute("userName")。
2)隐含对象:表达式一共定义了11个隐含对象(包括上面的4个表示范围的对象),其他的还有:
e)pageContext:表示JSP页面的上下文,在这个对象里提供了访问其他对象的方法,主要包括有servletContext、session、request、response这几个对象,如:
${oageContext.request.contextPath}
f)param:把request中的参数名和单个值进行映射,如${param.name}即相当于
request.getParameter(name);
g)paramValues:把request中的参数名和一个数组值进行映射。
h)header:把request中的header名字和单个值进行映射。
i)headerValues:把request中的header名字和一个数组值进行映射。
j)cookie:把request中的Cookie名字和单个值进行映射。
k)initParam:把context中的初始化参数和单个值进行映射。
3)字面量:EL中定义里如下的字面量:
a)Boolean
b)Integer
c)Float
d)String
e)Null
4)操作:EL中定义了许多的操作,常见的有:
a)算术操作(+ - * / dive % mod)
b)逻辑操作(and or not && ||)
c)关系操作(eq ne lt gt ge le == !=)
d)Empty运算符:用来判断值是否为null,如:
${empty param.name}
e)条件操作,如:
${test ? exp1 : exp2}
f)存取数据运算符:EL中提供了两种不同的存取运算符:“.”和“[]”。前者通常用来访问对象的属性,后者则用来检索数组和集合中的元素。两者在一定的程度可以互用,但是如果需要存取的属性名中包含一些特殊字符或者变量是动态变化的则要使用“[]”,如
${yser[my-name]}
5)保留字:EL中定义了一些关键字,虽然这些关键字并没有完全使用,但也予以保留。
6)函数:EL中允许自定义函数,并且函数定义和使用的机制与标签库类似。这是一个考点,下面给出一个例子,如:
步骤1:编写一个Java类,其类里有一个静态方法(必须静态)用来转换字符格式。
package el;
public class Function {
public static String format(String str) {
String result = null;
byte[] temp;
try {
temp = str.getBytes("iso-8859-1");
result = new String(temp);
} catch (Exception e) {
return null;
}
return result;
}
}
步骤2:编写标签库文件(WEB-INF/tlds/function.tld)
<taglib>
<uri>/WEB-INF/tlds/function</uri>
<function>
<name>format</name><!--注意这个值必须与你的方法名一致-->
<function-class>el.Function</function-class>
<function-signature>java.lang.String format(java.lang.String)</function-signature>
</function>
</taglib>
步骤3:在web.xml中添加如下内容
<web-app>
<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/tlds/function</taglib-uri>
<taglib-location>/WEB-INF/tlds/function.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
步骤4:编写一个用来测试的JSP页面
<%@taglib prefix="function" uri="/WEB-INF/tlds/function" %>
<%@page contentType="text/html; charset=gb2312" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP Page</title>
</head>
<body>
<form action="index.jsp" method="post">
<input type="text" name="name"><br />
<input type="submit" name="submit">
</form>
<br /><hr />
${function:format(param.name)}
</body>
</html>
总结
在考试中EL的内容很少单独出现,一定要熟悉EL中的一般使用,如变量、隐含对象、操作和函数等,因为如果这些看不懂的话很有可能影响到答题。
分享到:
相关推荐
标题“SCWCD之路——前言”暗示了这是一个关于SCWCD(Sun Certified Web Component Developer)认证的学习历程或指南的开篇部分。SCWCD是Java EE(现在称为Jakarta EE)开发人员的一个专业认证,它专注于Web组件的...
标题“SCWCD之路——结束语”表明这是一个关于SCWCD认证学习的总结或结语。SCWCD,全称Sun Certified Web Component Developer,是Oracle(原Sun Microsystems)推出的一个Java Web开发领域的专业认证,主要考察...
本篇文章将探讨“SCWCD之路——Web应用的安全性”,并结合提供的文件`catalina.jar`和`tomcat-juli.jar`,深入讲解相关的安全知识点。 首先,让我们理解`catalina.jar`和`tomcat-juli.jar`。这两个文件都是Apache ...
"SCWCD之路——标准标签库开发"是一个关于Java Web开发中的重要主题,特别是与Servlet、JSP和自定义标签库相关的知识。SCWCD(Sun Certified Web Component Developer)是Oracle公司提供的一个Java Web开发认证,它...
SCWCD,全称Sun Certified Web Component Developer,是Oracle(原Sun Microsystems)推出的Java EE(企业版)认证考试之一,主要考察开发者在构建Web应用程序方面的能力,包括Servlet、JSP、JSTL、EL表达式语言等...
- 表达式语言(EL):一种简单的数据访问语言,用于引用和操作页面上下文中的对象。 - 自定义标签库:了解如何创建和使用自定义标签库来封装复杂的业务逻辑。 ### SCWCD Exam Study Kit 《SCWCD Exam Study Kit》是...
SCWCD(Sun Certified Web Component Developer)是Oracle公司(原Sun Microsystems)提供的一个Java Web开发领域的专业认证,全称为“Sun Certified Web Component Developer for Java EE”。这个认证主要针对那些...
Servlet是Java编程语言中的一个接口,用于扩展服务器的功能,尤其在Web应用中。Servlet可以处理HTTP请求,生成响应,并与服务器的数据存储进行交互。它们通常用于实现业务逻辑,处理用户请求,与数据库交互等。学习...
3. **EL(Expression Language)**:EL是一种简洁的表达式语言,用于在JSP页面中获取和设置值。你需要掌握EL的基础语法,如访问JavaBeans属性、操作符的使用、列表和数组的操作等。 4. **JSTL(JavaServer Pages ...
JSP元素如指令、脚本元素、表达式语言(EL)、自定义标签库(JSTL)和页面生命周期是学习的重点。 3. **MVC模式**:Model-View-Controller模式在Web应用中广泛使用,理解其工作原理以及如何在Servlet和JSP中实现MVC...
3. **EL(Expression Language)**:EL是JSP 2.0引入的简洁表达式语言,用于访问JavaBean属性和执行基本操作。掌握EL变量,操作符,函数和上下文对象的使用。 4. **JSTL(JavaServer Pages Standard Tag Library)*...
3. **JSP表达式语言(EL)**:EL是用于在JSP页面中简洁地访问JavaBean属性的简洁语法。了解EL的运算符、上下文变量和函数调用是必要的。 4. **JavaServer Pages标准标签库(JSTL)**:JSTL提供了一组标准标签,用于...
《Head First SCWCD》这本书首先会引导读者理解JSP的基础概念,如页面元素、指令、脚本元素以及表达式。书中通过丰富的图表、幽默的插图和互动性的练习,使学习过程变得生动有趣。它详细介绍了JSP的生命周期,包括...
Sun Certified Web Component Developer for J2EE 5 代号:310-083 该文档题量:239 主要看前100题,我考了两次,出的题都是在100以内。 我考式时出的题全是这套题上的,没有一个没在这套题上。...
表达式语言。答案是BDE。 3. **自定义标签的配置**: 在开发自定义JSP标签时,需要一个TLD(Tag Library Descriptor)文件来定义这些标签。在示例中,TLD文件位于`/WEB-INF/myTags.xml`,并且在JSP页面中使用符号...
6. **SCWCD_310-083_题库.pdf**:这个文件同样可能是一个题库,专门针对310-083考试,涵盖了SCWCD认证的所有主题,包括但不限于JSP表达式语言、自定义标签、JNDI(Java Naming and Directory Interface)和JavaMail...