函式功能
<c:set>標籤用於保存數據。
語法1:將value的值儲存至範圍為scope的varName變數之中:
<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:將value的值儲存至target對象的屬性中:
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
否
page
target
為一JavaBean或java.util.Map對象
Y
Object
否
無
property
指定target對象的屬性
Y
String
否
無
如果指定了target屬性, 那么property屬性也必須指定。
函式示例
例:
<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="$"/>
將對象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="$"/>
<hr>設定password的屬性,屬性值在body中,然後輸出這個屬性值:
<c:set var="password">
xcsdkjf234dfsgs234234234
</c:set>
<c:out value="$"/>
<hr>設定javaBean的屬性,然後輸出這些屬性值:
<c:set value="hk2" target="$" property="userName"/>
<c:set target="$" 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>