作用
語法
語法1
<c:set value="value" var="varName" [scope="{ page|request|session|application }"]/>
語法2
將本體內容的數據儲存至範圍為scope的varName變數之中:
<c:set var="varName" [scope="{ page|request|session|application }"]>
… 本體內容
</c:set>
語法3
c:set value="value" target="target" property="propertyName" />
語法4
將本體內容的數據儲存至target對象的屬性中:
<c:set target="target" property="propertyName">
… 本體內容
</c:set>
名 稱
| 說 明
| EL
| 類型
| 必須
| 默認值
|
value
| 要被儲存的值
| Y
| Object
| 否
| 無
|
var
| 欲存入的變數名稱
| N
| String
| 否
| 無
|
scope
| var變數的JSP範圍
| N
| String
| 否
| pagescope
|
target
| 為一JavaBean或java.util.Map對象
| Y
| Object
| 否
| 無
|
property
| 指定target對象的屬性
| Y
| String
| 否
| 無
|
如果指定了target屬性, 那么property屬性也必須指定。
注意:如果你在一個JSP頁面中設定了<c:set var="reqURL" value="XXXX"></c:set>並且想在一個<jsp:include page="pager.jsp" flush="true"/>的頁面中使用此參數,那么,必須要制定這個reqURL的有效範圍,即<c:set var="reqURL" scope="request" value="${ctxt}/Position_Mypub?op='${requestScope.op}'"></c:set>
例:
<c:set value="${test.testinfo}" var="test2" scope="session" />
將test.testinfo的值保存到session的test2中,其中test是一個javabean的實例,testinfo是test對象的屬性。
<c:set target="${cust.address}" property="city" value="${city}"/>
將對象cust.address的city屬性值設定為變數city的值。
教材例程15-3,c_set.jsp,<c:set>標籤的套用。
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<jsp:useBean id="user" class="com.jspdev.ch3.TestBean"/>
<html>
<head>
<title>JSTL:的使用c:set</title>
</head>
<body bgcolor="#FFFFFF">
<hr>
設定userName的屬性為hellking,然後輸出這個屬性值:
<c:set value="hellking" var="userName"/>
<c:out value="${userName}"/>
<hr>設定password的屬性,屬性值在body中,然後輸出這個屬性值:
<c:set var="password">
xcsdkjf234dfsgs234234234
</c:set>
<c:out value="${password}"/>
<hr>設定javaBean的屬性,然後輸出這些屬性值:
<c:set value="hk2" target="${user}" property="userName"/>
<c:set target="${user}" property="password">
sdf234sdfd
</c:set>
userName=<c:out value="${user.userName}"/>,
password=<c:out value="${user.password}"/>.
<hr>設定不同的屬性,並且指定它們的範圍:
<c:set value="10000" var="maxUser" scope="application"/>
<c:set value="20" var="maxIdelTime" scope="session"/>
<c:set value="next.jsp" var="nextPage" scope="page"/>
</body>
</html>