<c:set>
<c:set>标签可以将el表达式的值赋到session中。
我们都知道,springmvc中,后台代码可以在Model中存很多值,在前台页面中用EL表达式又能取出来。
如果要将取出来的值存入session范围内,<% session.setAttribute() %> 是不行的,因为<%%>内是后台
代码,无法用EL表达式。这个时候,<c:set>就派上用场了。
<c:set>标签就是<jsp:setProperty>行为标签的孪生兄弟。
这个标签之所以很有用呢,是因为它会计算表达式的值,然后使用计算结果来设置 JavaBean 对象或 java.util.Map 对象的值。
示例:
<c:set scope="session" var="sessionCountries" value="${result.data.countries}" />
<c:forEach var="country" items="${sessionScope.sessionCountries}">
country
</c:forEach>
===
属性
<c:set>标签有如下属性:
属性 | 描述 | 是否必要 | 默认值 |
---|---|---|---|
value | 要存储的值 | 否 | 主体的内容 |
target | 要修改的属性所属的对象 | 否 | 无 |
property | 要修改的属性 | 否 | 无 |
var | 存储信息的变量 | 否 | 无 |
scope | var属性的作用域 | 否 | Page |
***********************************************************************************
<c:remove>
<c:remove>标签用于移除一个变量,可以指定这个变量的作用域,若未指定,则默认为变量第一次出现的作用域。这个标签不是特别有用,
不过可以用来确保JSP完成清理工作。
属性
<c:remove>标签有如下属性:
属性 | 描述 | 是否必要 | 默认值 |
---|---|---|---|
var | 要移除的变量名称 | 是 | 无 |
scope | 变量所属的作用域 | 否 | 所有作用域 |
实例演示
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:remove 标签实例</title>
</head>
<body>
<c:set var="salary" scope="session" value="${2000*2}"/>
<p>Before Remove Value: <c:out value="${salary}"/></p>
<c:remove var="salary"/>
<p>After Remove Value: <c:out value="${salary}"/></p>
</body>
</html>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:remove 标签实例</title>
</head>
<body>
<c:set var="salary" scope="session" value="${2000*2}"/>
<p>Before Remove Value: <c:out value="${salary}"/></p>
<c:remove var="salary"/>
<p>After Remove Value: <c:out value="${salary}"/></p>
</body>
</html>