Java Server Pages (JSP) 是一种使用流行的编程语言 Java 来创建 Web 应用程序的技术。通过 JSP,我们可以在 HTML 页面中编写 Java 代码,这使得开发 Web 应用程序变得更加容易。为了增强 JSP 的功能集和可用性,Java Server Pages Standard Tag Library (JSTL) 应运而生。通过使用 JSTL,我们可以借助预定义的标签简单地完成最常见的任务,这使我们能够以更简单的方式来实现它们。
JSTL 的核心标签之一是 ,它用于在 JSP 页面中显示变量的任何值。它类似于 ,但是专门用于表达式。默认情况下,它使用 XML 转义,这使其更能抵御跨站 XSS 攻击。
本主题的先决条件:
- 对 Java EE Web 项目开发有很好的了解,例如在任何 IDE 的帮助下设置 Servlet 或 JSP 页面
- 任何支持 Java EE 开发的 IDE
- 安装了 Apache Tomcat Web 服务器或任何其他支持运行基于 Java 的 Web 应用程序的服务器,如 GlassFish、Websphere 等
语法
JSTL 标签的属性
描述
必填
—
—
要计算的表达式
True
如果引用的值为 null,将使用的默认值
False
确定是否将 & 等字符转换为字符代码。默认为 true
False## 标签的用法
1. 使用 value 属性显示语句或表达式
要显示任何字符串语句,只需将该字符串分配给 标签的 value 属性。或者,我们也可以传递任何有效的表达式给 value 属性进行计算,然后将其打印在 jsp 页面上。要使用表达式,表达式必须包含在 ${ expression_here } 中。
#### 示例 1:
HTML
CODEBLOCK_828ce5e8
#### 输出:
!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20231021221332/couthelloworld.png">couthelloworld
#### 示例 2:
这里,一个数学表达式被传递给 value 属性:
HTML
CODEBLOCK_b04d11d3
#### 输出:
!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20231021221537/coutexpression.png">coutexpression
2. 显示任何变量
要显示已经在 jsp 页面中设置的任何变量,我们必须将变量名作为参数传递给 value 属性。如果该变量在页面中为 null,我们可以使用 default 标签指定要打印的默认值。
在下面的示例中,我们使用 标签在 jsp 页面中设置了一个变量。由于存在 profession 变量,因此该值按原样打印出来,但是下面的 salary 变量在页面中不存在,因此使用了 default 属性字符串。
#### 示例 1:
HTML
CODEBLOCK_f0489c7a
#### 输出:
!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20231021222237/coutvariables.png">coutvariables
3. 转义字符
在打印值时,默认情况下它不会解析 、&、‘ 等符号。如果我们尝试将 HTML 或 XML 作为值使用,它将仅作为字符打印出来。此外,这增加了页面的安全性,因为无法通过注入任何脚本代码来进行跨站 XSS 攻击。
要使其解析 HTML,我们必须将 escapeXml 设置为 false,出于安全原因,它默认为 true。
HTML
“
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<c:out value="