原文: https://beginnersbook.com/2013/11/jstl-cremove-core-tag/
<c:delete>
标签用于从指定范围或所有范围(页面,请求,会话和应用)中删除属性。
例
在下面的例子中,首先我使用<c:set>
标签](https://beginnersbook.com/2013/11/jstl-cset-core-tag/)设置了两个变量,然后我使用<c:remove>
删除了其中一个标签。正如您在输出屏幕截图中看到的那样 - 当我尝试显示两个变量时,对于第二个属性,页面没有获得任何值,并使用<c:out>
标签的default
属性打印默认值。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Example of c:remove tag</title>
</head>
<body>
<c:set var="Site" scope="session" value="BeginnersBook.com"/>
<c:set var="author" scope="session" value="Chaitanya"/>
<c:remove var="author"/>
<a href="display.jsp">check attributes</a>
</body>
</html>
display.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:out value="${Site}"/><br>
<c:out value="${author}" default="Attribute has no value"/>
<c:remove>
标签的scope
属性
上面我们编码像这样
<c:remove var="author"/>
上面的代码从所有范围(页面,会话,应用,请求)中删除了一个属性。为了具体起见,我们必须在<c:remove>
中指定scope
属性,就像我在下面所做的那样 - 下面的 JSTL 语句将从会话范围中删除变量var
。
<c:remove var="author" scope="session"/>