# JSTL＆lt; c：set＆gt;核心标签

> 原文： [https://beginnersbook.com/2013/11/jstl-cset-core-tag/](https://beginnersbook.com/2013/11/jstl-cset-core-tag/)

**＆lt; c：set＆gt;核心 JSTL 标记**用于为指定范围内的对象或变量赋值。让我们用**示例**来理解这一点。

这里我将一个字符串值赋给[应用程序范围](https://beginnersbook.com/2013/11/jsp-implicit-object-application-with-examples/ "Application")中的变量名称（它允许我在应用程序的任何 JSP 页面中访问我的变量）。在另一页（display.jsp）上，我使用[＆lt; c：out＆gt;在浏览器上打印了值。标签](https://beginnersbook.com/2013/11/jstl-cout-core-tag/ "&lt;c:out&gt; tag")和 [EL](https://beginnersbook.com/2013/11/jsp-expression-language-el/ "Expression language") 。

```
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Example of c:set tag</title>
</head>
<body>
<c:set var="name" scope="application" value="Chaitanya Pratap Singh"/>
<a href="display.jsp">Display</a>
</body>
</html>
```

display.jsp

```
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:out value="${name}"/>
```

输出：
以下是上述示例输出的屏幕截图。

![c-set-example](../Images/fe72806d77eea95f6440cdc397c78e07.jpg)

![c-set-example2](../Images/024a86dd9cdbd4e31ce95287d089ce7b.jpg)

**＆lt; c：set＆gt;的属性标签**

**1）值：**它可以是硬编码值或表达式。例如以下是＆lt; c：set＆gt;的允许变体标签 -

变量 myvar 的值将存储在对象名称中。

```
<c:set var="name" scope="application" value="${myvar}"/>
```

表达式的结果将存储在对象中。

```
<c:set var="sum" scope="application" value="${1+3+6}"/>
```

2） **var：**它保存变量/对象名称

3）**范围：**可以是[请求](https://beginnersbook.com/2013/11/jsp-implicit-object-request-with-examples/ "Request object")，[会话](https://beginnersbook.com/2013/11/jsp-implicit-object-session-with-examples/ "Session object")，[页面](https://beginnersbook.com/2013/11/jsp-implicit-objects/ "Page object")和[应用程序](https://beginnersbook.com/2013/11/jsp-implicit-object-application-with-examples/ "application object")。在上面的例子中，我们已将范围指定为应用程序，但它可以是上述四个范围之外的任何内容。这一切都取决于要求。