首页 > 其他分享 >【webapp】jsp EL 的基本语法和用法

【webapp】jsp EL 的基本语法和用法

时间:2023-10-09 11:25:29浏览次数:25  
标签:EL 遍历 访问 JSP webapp jsp 表达式 页面

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

相关文章

  • STF61_LINUX_SHELL(上午)
     STF61_LINUX_SHELL(上午)1. 什么是shell?shell就是一个用C语言编写的程序,是用户使用linux的桥梁。shell既是一种命令语言,也是一种程序设计语言2. 什么是shellscript?利用shell的功能所写的一个“程序”,这个程序是使用纯文本文档,将一些shell的语法与命令写在命令。搭......
  • 【webapp】jsp 操作数据库
    在JSP中连接和操作数据库需要使用Java的JDBC(JavaDatabaseConnectivity)API。下面是学习在JSP中使用JDBC连接和操作数据库的基本步骤:导入JDBC驱动程序:下载并导入适合您所使用的数据库的JDBC驱动程序JAR文件。不同的数据库有不同的驱动程序。将JDBC驱动程......
  • NetCore Ocelot 之 Authorization
    Ocelotsupportsclaimsbasedauthorizationwhichisrunpostauthentication.ThismeansifouhavearouteyouwanttoauthorizeyoucanaddthefollowingtoyouRouteconfiguration."RouteClaimsRequirement":{"client_role":......
  • 【webapp】在 JSP 页面中引入标签库和使用自定义标签
    自定义标签的基本步骤:创建自定义标签库文件:首先,您需要创建一个包含自定义标签定义的标签库文件(通常以 .tld 扩展名结尾)。该文件描述了标签的名称、属性和处理逻辑。引入标签库:在JSP页面中,通过使用 <%@taglib%> 指令来引入自定义标签库。该指令告诉JSP引擎在页面中......
  • laravel8对接阿里云sdk刷新cdn缓存接口RefreshObjectCaches
    <?phpnamespaceApp\Admin\Forms;useEncore\Admin\Widgets\Form;useIlluminate\Http\Request;useAlibabaCloud\Client\AlibabaCloud;useAlibabaCloud\Client\Exception\ClientException;useAlibabaCloud\Client\Exception\ServerException;......
  • 【接口自动化】python+selenium基础实战--登录
    安装好环境后,来试试一个基本的登录功能##-*-coding:utf-8-*-fromseleniumimportwebdriverimporttimedriver=webdriver,Chrome()driver.get("http://localhost:63342/projectAutoTest/projectHtml/chapter1/period2/index.html")time.sleep(1)driver.findelement_by_i......
  • This kernel requires an x86-64 CPU, but only detected an i686CPU. Unable to boot
    原文链接:https://www.longkui.site/program/other/i686/4759/ 0.背景买了一台小电脑,STARTC-8080型号,想给他装个Linux系统。给他装Ubuntu18的时候,开始报错:Thiskernelrequiresanx86-64CPU,butonlydetectedani686CPU.Unabletoboot–pleaseuseakernelapp......
  • 第十八篇 - el-select获取整个对象值
    参考链接:https://blog.csdn.net/qq_41885295/article/details/121956909常规el-select时的用法是这样的<el-form-itemlabel="Project"style="flex:1":rules="[{required:true,message:'',trigger:'blur'},]">&......
  • 高效数据传输:Java通过绑定快速将数据导出至Excel
    摘要:本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言把数据导出至Excel是很常见的需求,而数据的持久化,往往又放在数据库中。因此把数据库中的数据导出到Excel中,成了非常普遍的一个需求......
  • 【webapp】JSP 内置对象
    request:表示客户端的请求信息,可以用于获取请求参数、请求头、请求方法等。response:代表服务器对客户端的响应,可以用于设置响应头、响应内容等。out:是一个输出流对象,可以用于向客户端输出内容。session:表示用户的会话,可以用于在不同的页面之间共享数据。application:代表整个应......