JavaWeb|认识表达式语言(EL)

简介: JavaWeb|认识表达式语言(EL)

问题描述

1 简介

EL的全名为Experience Language,原本是JSTL 1.0为方便存取数据所自定义的语言,后来成为JSP标准的一部分,如今EL已经是一项成熟、标准的技术。

<%=变量名%>是典型的表达式,它用于将变量显示在客户端,<%out.print(变量名)%>和其作用相同。EL具有与表达式相同的输出功能,另外其还具有简单的运算符、访问对象、简单的JavaBean访问、简单的集合访问等功能。

经过对jsp和servlet基础的学习,可以发现jsp页面是处于表示层的,主要用于将内容显示。在实际的开发过程中,因为项目的规模比较大,所以页面的设计会由专门的设计人员去完成,故在jsp中嵌入过多的Java代码不利于项目的开发。

解决方案

2 基本语法

EL的语法很简单,最大的特点就是使用很方便。如下:

User user = (User)seesion.getAttribute(“user”);

String sex = user.getSex();

out.print(sex);

上面代码的作用就是从session中得到user对象,然后打印user中的sex属性,如果用EL进行表达就显得很简单:

${sessionScope.user.sex}

所以EL最基本的语法结构如下:

${Expression}

EL提供了两种实现对相应数据存取的运算符,即.和[]

${sessionScope.user.sex}

等价于

String str = “sex”;

${sessionScope.user[str]}

但是在以下情况,这两种运算符不能呼唤

1、当要存取的数据名称中包含一些特殊字符时只能使用[]运算符,例如:

${sessionScope.user[“user-sex”]}

//不能写成

//${sessionSope.user.user-sex}

2、当动态取值时只能使用[]运算符

${sessionScope.user[param]}

假如param是自定义变量,其值可以是user对象的name、age、address等,此时不能写成如下形式:

${sessionScope.user.param}

总结

EL本身定义了一些用来操作或者比较EL表达式运算符,其可以满足更多jsp应用程序所需的表示逻辑,包括了加减乘除与余数,范例:${11+11}

目录
相关文章
|
3天前
|
安全 Java 大数据
探索Java的奇妙世界:语言特性与实际应用
探索Java的奇妙世界:语言特性与实际应用
|
1月前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
25 0
|
20天前
|
XML 数据可视化 前端开发
java正则表达式
java正则表达式
|
1月前
|
数据采集 分布式计算 大数据
Java语言在大数据处理中的应用
传统的大数据处理往往依赖于庞大的数据中心和高性能的服务器,然而随着大数据时代的到来,Java作为一种强大的编程语言正在被广泛应用于大数据处理领域。本文将探讨Java语言在大数据处理中的优势和应用,以及其在分布式计算、数据处理和系统集成等方面的重要作用。
|
2天前
|
Java 编译器 API
Java基础教程(17)-Java8中的lambda表达式和Stream、Optional
【4月更文挑战第17天】Lambda表达式是Java 8引入的函数式编程特性,允许函数作为参数或返回值。它有简洁的语法:`(parameters) -> expression 或 (parameters) ->{ statements; }`。FunctionalInterface注解用于标记单方法接口,可以用Lambda替换。
|
4天前
|
Java 程序员 编译器
JavaSE&Java8 Lambda 表达式
JavaSE&Java8 Lambda 表达式
|
4天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
8天前
|
并行计算 Java 编译器
Java Lambda表达式简介
Java Lambda表达式简介
12 0
|
9天前
|
Java 开发者
探索 Java 的函数式接口和 Lambda 表达式
【4月更文挑战第19天】Java 中的函数式接口和 Lambda 表达式提供了简洁、灵活的编程方式。函数式接口有且仅有一个抽象方法,用于与 Lambda(一种匿名函数语法)配合,简化代码并增强可读性。Lambda 表达式的优点在于其简洁性和灵活性,常用于事件处理、过滤和排序等场景。使用时注意兼容性和变量作用域,它们能提高代码效率和可维护性。
|
10天前
|
前端开发 Java Go
开发语言详解(python、java、Go(Golong)。。。。)
开发语言详解(python、java、Go(Golong)。。。。)