原文: https://beginnersbook.com/2013/11/jsp-expression-language-el/

    表达式语言(EL)已在 JSP 2.0 中引入。它的主要目的是简化从 bean 属性和隐式对象访问数据的过程。 EL 也包括算术运算符,关系运算符和逻辑运算符。

    EL 语法:

    1. ${expression}

    大括号内的任何内容在运行时被评估并被发送到输出流。

    示例 1:表达式语言评估表达式

    在这个例子中,我们在 EL 的帮助下评估表达式。

    1. <html>
    2. <head>
    3. <title>Expression language example1</title>
    4. </head>
    5. <body>
    6. ${1<2}
    7. ${1+2+3}
    8. </body>
    9. </html>

    输出:

    JSP 表达式语言(EL) - 图1

    示例 2:使用表达式语言获取param变量的值

    在此示例中,我们提示用户输入名称和卷号。在另一个 JSP 页面上,我们使用 EL 的param变量获取输入的详细信息。

    index.jsp

    1. <html>
    2. <head>
    3. <title>Expression language example2</title>
    4. </head>
    5. <body>
    6. <form action="display.jsp">
    7. Student Name: <input type="text" name="stuname" /><br>
    8. Student RollNum:<input type="text" name="rollno" /><br>
    9. <input type="submit" value="Submit Details!!"/>
    10. </form>
    11. </body>
    12. </html>

    display.jsp

    1. <html>
    2. <head>
    3. <title>Display Page</title>
    4. </head>
    5. <body>
    6. Student name is ${ param.stuname } <br>
    7. Student Roll No is ${ param.rollno }
    8. </body>
    9. </html>

    输出:

    JSP 表达式语言(EL) - 图2

    JSP 表达式语言(EL) - 图3

    示例 3:从应用对象获取值。

    在这个例子中,我们使用application隐式对象设置了属性,在显示页面上我们使用表达式语言的applicationScope获得了这些属性。

    index.jsp

    1. <html>
    2. <head>
    3. <title>EL example3</title>
    4. </head>
    5. <body>
    6. <%
    7. application.setAttribute("author", "Chaitanya");
    8. application.setAttribute("Site", "BeginnesBook.com");
    9. %>
    10. <a href="display.jsp">Click</a>
    11. </body>
    12. </html>

    display.jsp

    1. <html>
    2. <head>
    3. <title>Display Page</title>
    4. </head>
    5. <body>
    6. ${applicationScope.author}<br>
    7. ${applicationScope.Site}
    8. </body>
    9. </html>

    输出:

    JSP 表达式语言(EL) - 图4

    JSP 表达式语言(EL) - 图5

    EL 预定义变量:

    与 JSP 中的隐式对象类似,我们在 EL 中预定义了变量。在上面的例子中我们使用了paramapplicationScope,它们也是这些变量的一部分。

    • pageScope:它有助于获取存储在page范围中的属性。
    • pageContext:与 JSP PageContext对象相同。
    • sessionScope:从session对象设置的会话范围中获取属性。
    • requestScope:用于从请求范围获取属性。由request隐式对象设置的属性。
    • param:类似于ServletRequest.getParameter。参考例 2。
    • applicationScope:用于获取Applicaton级别属性。与我们在示例 3 中看到的相同。
    • header:它有助于将 HTTP 请求标头作为字符串获取。
    • headerValues:用于获取所有 HTTP 请求头。
    • initParam:它链接到上下文初始化参数。
    • paramValues:与ServletRequest.getParmeterValues相同。
    • cookie:它映射到 Cookie 对象。