<c:set var="username" value="刘备" scope="page"></c:set>
<pre>${username}</pre>
(1)var – 指定存入域中属性的名称
(2)value -- 指定存入域中属性的值
(3)scope – 往作用域中添加/修改一个属性,默认是最小的域对象(不用加scope属性)
scope属性用于指定将属性存入哪一个域中,可取值为:
scope="page":此处page表示pageContext域, 代表当前jsp页面的运行环境的对象,通过该对象可以访问页面中的共享数据
(写成:scope="pageContext" 报错:HTTP状态 500 - 内部服务器错误)
scope="request":表示request域,对应servlet中的 HttpServletRequest/ServletRequest
scope="session":表示session域,对应servlet中的 HttpSession
scope="application":表示ServletContext域,对应servlet中的 ServletContext
chrome://settings/cookies/detail?site=localhost chrome清除jsessionid
尽量避免同时使用scope="application"和scope="session"
scope="application"的值第二次会被scope="session"覆盖!!!
域值的修改:
<c:set var="username" value="刘备" scope="request"></c:set>
<pre>${username}</pre>
<c:set var="username" value="关羽" scope="request"></c:set>
<pre>${username}</pre>
刘备
关羽
域值的查找和覆盖1:
<c:set var="username" value="张飞" scope="session"></c:set>
<pre>${username}</pre>
<c:set var="username" value="关羽" scope="request"></c:set>
<pre>${username}</pre>
<c:set var="username" value="刘备" scope="page"></c:set>
<pre>${username}</pre>
张飞
关羽
刘备
先通过scope="page"找范围最小的域对象,scope="request"找范围稍大点的域对象,再通过scope="session"找范围大的域对象
域值的查找和覆盖2:
<c:set var="username" value="刘备" scope="page"></c:set>
<pre>${username}</pre>
<c:set var="username" value="关羽" scope="request"></c:set>
<pre>${username}</pre>
<c:set var="username" value="张飞" scope="session"></c:set>
<pre>${username}</pre>
刘备
刘备
刘备
先通过scope="page"找范围最小的域对象,scope="request"找范围稍大点的域对象,再通过scope="session"找范围大的域对象
(4)target和property 指定修改作用域中已有的map集合中的元素
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%
Map<String, String> map2 = new HashMap<String, String>();
map2.put("name2","刘德华");
map2.put("age2", "20");
map2.put("nickname2", "华仔");
request.setAttribute("map2", map2);
%>
<c:set target="${map2}" property="name2" value="吕德华" ></c:set>
<c:set target="${map2}" property="age2" value="32" ></c:set>
<c:set target="${map2}" property="nickname2" value="吕仙林" ></c:set>
<pre>map集合元素获取:${map2.name2}</pre>
<pre>map集合元素获取:${map2.age2}</pre>
<pre>map集合元素获取:${map2.nickname2}</pre>