`

javaWeb之表达式语言---初始EL

阅读更多

1,何为表达式语言(Expression Language,EL)?

    EL是JSP 2.0中新增的功能,使用EL可以方便的访问标志位(JSP中一共有page[pageContext],request,session和application4种标志位)中的属性内容,这样可以减少页面中的脚本代码;

2,EL的格式:${属性名称}

   使用表达式语言可以方便地访问对象中的属性,提交的参数或者是进行数学运算,当内容为空时,则会自动输出空字符串("")表示;

看一个最简单的例子:

没有El之前我们应该这么写:

	<%
		request.setAttribute("name","keith");
		if(request.getAttribute("name")!= null){
	 %>
	 
	 <%=request.getAttribute("name")%>
	 
	 <%} %>

 有了EL,我们这么写:

	<%
		request.setAttribute("name","keith");
	 %>
	 ${name }

 这样页面会简介很多,维护也很方便;

3,表达式语言(EL)的内置对象:

EL的主要功能就是进行内容的显示,为了显示方便,在EL中提供了很多内置对象,通过对不同内置对象的设置,EL可以输出不同的内容,这些内置对象如下:

No EL内置对象 说明
1 pageContext 表示javax.servlet.jsp.PageContext对象
2 pageScope 表示从page属性范围查找输出属性
3 requestScope 表示从request属性范围查找输出属性
4 sessionScope 表示从session属性范围查找输出属性
5 applicationScope 表示从application属性范围查找输出属性
6 param 接收传递到本页面的参数
7 paramValues 接收传递到本页面的一组参数
8 header 取得一个头信息数据
9 headerValues 取得一组头信息数据
10 cookie 取出cookie中的数据
11 initParam 取得配置的初始化参数

4,访问4中属性范围的内容:

EL语言可以输出4中属性范围中的内容,如果此时在不同的属性范围中设置了同一个属性名称,则按照:page-->request-->session-->application顺序查找:

	<%
	pageContext.setAttribute("info","page 属性范围");
	request.setAttribute("info","request 属性范围");
	session.setAttribute("info","session 属性范围");
	application.setAttribute("info","application 属性范围");		
	 %>
	 
	 ${info }

输出的是:page 属性范围

这时可以指定一个要取出范围的属性,范围一共有4种标记:

No 属性范围 范例 说明
1 pageScope ${pageScope.属性} 取出page范围的属性内容
2 requestScope ${requestScope.属性} 取出requestScope范围的属性内容
3 sessionScope ${sessionScope.属性} 取出sessionScope范围的属性内容
4 applicationScope ${applicationScope.属性} 取出applicationScope范围的属性内容

则上面的例子可以这么写:

	<%
	pageContext.setAttribute("info","page 属性范围");
	request.setAttribute("info","request 属性范围");
	session.setAttribute("info","session 属性范围");
	application.setAttribute("info","application 属性范围");		
	 %>
	 
	page 属性范围: ${pageContext.info }
	request 属性范围: ${requestScope.info }
	session 属性范围: ${sessionScope.info }
	application 属性范围: ${applicationScope.info }

 5,调用内置对象操作:

   在JSP内置对象里,可以使用pageContext()取得request,session,application的实例,在EL中可以通过pageContext这个表达式的内置对象调用JSP内置对象中提供的方法(调用方法是通过反射机制完成的);

	IP地址:${pageContext.request.remoteAddr }<br />
	session ID:${pageContext.session.id }<br />
	是否新的session:${pageContext.session.new }

 6,接收请求参数:

   使用EL还可以显示接收的请求参数,功能与request.getParameter()类似,语法:接收参数:${param.参数名称} ;

页面:

	通过内置对象接收输入参数:<%=request.getParameter("info") %>
	通过EL语言接收输入参数:${param.info }

 在浏览器上输入:http://localhost:8080/jsp/elTest.jsp?info='keith'

下面传入一组参数,语法:接收参数:${paramValues.参数名称} ;

 

	<form action="paramValuesDemo.jsp" method="post">
		爱好:<input type="checkbox" name="inst" value="唱歌">唱歌
		    <input type="checkbox" name="inst" value="游泳">游泳
		    <input type="checkbox" name="inst" value="看书">看书
		    <input type="submit" value="显示">
	</form>

 paramValuesDemo.jsp:(上面接收的一组参数,如果想要取出,则需要分别指定下标;

	<%request.setCharacterEncoding("UTF-8");%>
	第一个参数:${paramValues.inst[0] }<br />
	第二个参数:${paramValues.inst[1] }<br />
	第三个参数:${paramValues.inst[2] }<br />

 7,集合操作:

   在EL语言中已经很好地支持了集合的操作,可以方便的使用EL输出Collection(子接口:List,Set),Map集合中的内容。

看下List集合:

	<%
	//实例化List接口
	List all = new ArrayList();
	//向集合中增加内容
	all.add("keith");
	all.add("学习JAVA!");
	//向request集合中保存
	request.setAttribute("allInfo",all);
	 %>
	 
	 第一个元素:${allInfo[0] }
	 第二个元素:${allInfo[1] }
	 第三个元素:${allInfo[2] }

 看下Map集合:

	<%
	Map map = new HashMap();
	map.put("name","keith");
	map.put("age","21");
	request.setAttribute("info",map);
	 %>
	 Name:${info["name"] }
	 Name:${info["age"] }
分享到:
评论

相关推荐

    JavaWeb编程打包资源--超值大礼

    EL是一种简洁的表达式语言,用于在JSP页面中获取和设置JavaBean的属性。JSTL是一套标准的标签库,可以替代许多自定义JSP标签,提高代码的可读性和维护性。例如,使用`&lt;c:if&gt;`进行条件判断,`&lt;c:forEach&gt;`遍历集合,...

    崔希凡javaweb笔记day18-day23

    3. **JSTL与EL表达式**(day20):JSTL(JavaServer Pages Standard Tag Library)是一组标准标签库,用于简化JSP页面。EL(Expression Language)是用于获取和设置JavaBean属性的简洁表达式。在day20的笔记中,可能...

    jsp el表达式

    在JavaWeb开发中,JSP Expression Language(EL表达式)是一种简洁、强大的脚本语言,用于在JavaServer Pages(JSP)中获取和操作JavaBean或其他数据源中的数据。EL表达式的引入是为了简化JSP页面的编写,减少Java...

    崔希凡javaweb笔记day24-day28

    3. **JSP动态网页**:在day26,崔希凡老师可能讲解了JSP的基础知识,如JSP的脚本元素(Scriptlets、表达式和声明)、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)。这些技术用于将...

    崔希凡javaweb笔记day14-day17

    这部分内容可能涵盖JSP的基本语法、指令元素(如page、include、taglib)、脚本元素(声明、表达式、脚本let)以及EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的使用。 Day16的课程...

    JavaWeb视频教程-day10

    可能涉及到JSP的九大内置对象、EL(表达式语言)和JSTL(JavaServer Pages Standard Tag Library)的使用,以及如何实现页面转发和重定向。 3. **MVC(Model-View-Controller)模式**: 这是一种设计模式,常用于JavaWeb...

    JavaWeb(Servlet+request和response+EL表达式+JSP+Cookie和Session)

    JavaWeb 是基于 Java 语言的 Web 应用程序开发技术,Servlet 是 JavaWeb 的核心组件之一。Servlet 是一个特殊的 Java 类,运行在 Web 服务器中的小型 Java 程序,通过 HTTP 协议接收和响应来自 Web 客户端的请求。 ...

    JAVAWEB选择题-.pdf

    5. **EL表达式**:EL(Expression Language)是JavaServer Pages中的表达式语言,用于简化数据访问。`${10 mod 3}`的结果是1,因为`mod`是取余运算符。 6. **自定义标签**:自定义标签的主要目的是提高代码可读性...

    《JavaWeb程序开发进阶》-黑马程序员配套资源ppt.zip

    5. **第7章 EL表达式**:EL(Expression Language)是JavaServer Pages的内置表达式语言,用于简化页面中的数据访问。它可以用来获取和设置页面范围内的属性值,支持基本的算术运算、比较操作以及方法调用,极大地...

    内科大javaweb课设

    - **JSP EL** 和 **JSTL**:简化JSP页面中的表达式和控制流程,使页面更清晰,逻辑更独立于视图。 - **Maven或Gradle**:构建工具,管理项目的依赖关系和构建过程。 - **Eclipse或IntelliJ IDEA**:常用的Java开发...

    传智博客JavaWeb经典面试题目

    - JSP的生命周期与Servlet类似,但主要关注脚本元素、指令元素和EL表达式。 - JSP的九大内置对象:`request`、`response`、`session`、`application`等,它们在何时何地创建和销毁。 3. **HTTP协议** - HTTP状态...

    javaweb项目9-15

    3. **JSP语法**:包括指令、脚本元素和表达式,以及EL(Expression Language)和JSTL的使用。 4. **JDBC连接数据库**:创建数据库连接,执行SQL语句,处理结果集,并确保资源正确关闭。 5. **事务管理**:了解ACID...

    《javaweb 入门经典》王国辉源码14-16.rar

    4. **EL(Expression Language)**:EL是用于访问JavaBean属性的简洁表达式语言,可以简化数据绑定。在14-16章中,你可能会看到如何在JSP页面上使用EL来获取和设置JavaBean的属性。 5. **过滤器(Filter)**:过滤...

    黑马程序员_超全面的JavaWeb教程-视频+源码笔记

    5. **EL表达式与JSTL**:Expression Language(EL)提供了一种在JSP页面中使用变量和表达式的方式,而JSTL则是一组用于控制页面逻辑的标准标签库。这两者相结合可以极大地简化页面开发工作。 #### 教程核心内容介绍...

    JavaWeb-sales.txt

    - **表达式语言 (EL)**:简化了数据访问和展示的过程。 - **JSTL (JavaServer Pages Standard Tag Library)**:提供了一系列标准标签,如循环、条件判断等,提高了开发效率。 - **自定义标签**:允许开发者创建自己...

    JavaWebServlet+JSP+EL表达式+JSTL标签库+Filter过滤器+Listener监听器

    3. **EL(Expression Language)表达式**:EL是JavaWeb中的表达式语言,用于在JSP页面中简单地访问JavaBean属性。它的语法简洁,可以方便地获取和设置值,减少JSP页面中的脚本代码。 4. **JSTL(JavaServer Pages ...

    JavaWeb试题

    4. **EL**:EL(Expression Language)是一种简洁的表达式语言,用于在JSP页面中访问JavaBean属性,简化了数据绑定的过程。理解EL的运算符、上下文变量、函数调用等概念,可以提高开发效率。 除此之外,JavaWeb开发...

    javaweb基础 ppt和案例

    - **EL(Expression Language)**:用于从页面作用域中检索和操作数据,简化页面中的表达式。 3. **基础教程**: 学习JavaWeb的基础教程通常会涵盖以下内容: - **环境搭建**:安装JDK、Tomcat服务器,配置环境...

    【JSTL表达式依赖包】jakarta-taglibs-standard-1.1.2

    4. **EL支持**:JSTL与EL(Expression Language)紧密结合,可以方便地在标签中使用EL表达式来获取和操作数据。 为了在IDEA中使用"jakarta-taglibs-standard-1.1.2",你需要按照以下步骤操作: 1. 下载并解压...

Global site tag (gtag.js) - Google Analytics