EL(表达式语言)是用于在 JSP 页面中访问和操作数据的简洁表达式语言。
EL 提供了一种简化和统一的方式来访问变量、属性、集合和其他对象。
以下是 EL 的基本语法和用法: 基本语法: ${expression}:用于在 JSP 页面中嵌入 EL 表达式。 ${object.property}:访问对象的属性。 ${map.key}:访问 Map 集合中的键对应的值。 ${array[index]}:访问数组中指定索引位置的元素。 访问变量: ${variable}:访问页面范围、请求范围、会话范围或应用程序范围的属性或参数。 ${param.paramName}:访问请求参数的值。 ${header.headerName}:访问请求头的值。 ${cookie.cookieName}:访问 Cookie 的值。 运算符: 算术运算符:+、-、*、/、%。 比较运算符:==、!=、<、>、<=、>=。 逻辑运算符:&&、||、!。 空安全运算符:?:,用于处理空值。 EL 函数: 内置函数:EL 提供了一些内置函数,如字符串处理、数学运算、日期处理等。例如:${fn:length(string)}、${math:round(number)}、${fn:substring(string, start, end)}。 自定义函数:您可以定义自己的 EL 函数,并在 JSP 页面中使用。需要在标签库中声明和配置自定义函数。 EL 集合操作: 遍历集合:${collection} 可以直接遍历数组、List、Set、Map 等集合类型。 遍历数组:${array}。 遍历 List:${list}。 遍历 Set:${set}。 遍历 Map:${map}。 EL 条件判断: 条件运算符:${condition ? trueValue : falseValue},根据条件返回不同的值。 EL 转义: ${'${expression}'}:用于输出 ${expression} 字符串而不进行 EL 表达式求值。 EL 的语法和用法可以根据具体需求进行扩展和深入学习。EL 提供了一种简单且强大的方式来在 JSP 页面中处理和操作数据,减少了与 Java 代码的耦合性。
当使用 EL 表达式时,下面是一些示例说明: 访问变量和属性: 假设在 JSP 页面中有以下变量和对象: jsp Copy <% String name = "John Doe"; request.setAttribute("age", 30); class Person { private String address; public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } } Person person = new Person(); person.setAddress("123 Main Street"); pageContext.setAttribute("person", person); %> 您可以使用 EL 表达式访问这些变量和属性: jsp Copy Name: ${name} <br/> Age: ${age} <br/> Address: ${person.address} 上述 EL 表达式会分别输出变量 name 的值、请求属性 age 的值以及对象 person 的 address 属性的值。 遍历集合: 假设在 JSP 页面中有以下集合对象: jsp Copy <% List<String> colors = new ArrayList<>(); colors.add("Red"); colors.add("Green"); colors.add("Blue"); request.setAttribute("colors", colors); Map<String, String> countryCodes = new HashMap<>(); countryCodes.put("US", "United States"); countryCodes.put("CA", "Canada"); countryCodes.put("GB", "United Kingdom"); request.setAttribute("countryCodes", countryCodes); %> 您可以使用 EL 表达式遍历这些集合: jsp Copy Colors: <ul> <c:forEach items="${colors}" var="color"> <li>${color}</li> </c:forEach> </ul> Country Codes: <table> <c:forEach items="${countryCodes}" var="entry"> <tr> <td>${entry.key}</td> <td>${entry.value}</td> </tr> </c:forEach> </table> 上述 EL 表达式使用 <c:forEach> 标签循环遍历集合,并输出集合中的元素。 使用 EL 函数: EL 提供了一些内置函数,如字符串处理、数学运算、日期处理等。例如,使用 fn:length 函数获取字符串的长度: jsp Copy <% String message = "Hello, world!"; pageContext.setAttribute("message", message); %> Message Length: ${fn:length(message)} 上述 EL 表达式使用 fn:length 函数获取字符串变量 message 的长度,并输出结果。 这些示例演示了 EL 表达式在 JSP 页面中的常见用法。您可以根据需要使用 EL 访问变量、属性、集合和调用函数来操作数据和展示内容。EL 提供了灵活且简洁的语法,使得数据处理更加方便和可读。 ChatGPT ChatGPT Poe 请注意,由于当前环境的限制,我无法在这个纯文本的环境中执行 JSP 代码和 EL 表达式。上述示例只是为了说明 EL 的基本语法和用法,并非可以直接在这个聊天窗口中运行的有效代码。 在实际的 JSP 页面中,您可以将这些示例代码嵌入到 <% ... %> 代码块或 <c:forEach> 等 JSTL 标签中,以便在浏览器中正确显示和执行。
标签:EL,遍历,访问,JSP,webapp,jsp,表达式,页面 From: https://www.cnblogs.com/mamamia/p/17751030.html