jstl c:set标签用法实例



jstl c:set标签用法实例,统计本网站总访问人次。<c:set>标签有两种不同的属性设置:var和target。var“版本”用于设置作用域属性,target“版本”用于设置bean属性或Map值。

这两个版本都有两种形式:有标签体和没有标签体。有标签体的只是放入值的另一种途径。

<%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8″%>
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c” %>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<head>
<title>My JSP ‘c_set.jsp’ starting page</title>
</head>
<body>
<c:set var=”totalCount” value=”${ totalCount + 1 }” scope=”application”></c:set>
<c:set var=”count” value=”${ count + 1 }” scope=”session”></c:set>
本网站总访问人次:${ totalCount } <br/>
其中您的访问次数:${ count } <br/>

</body>
</html>

 

★ var“版本”

1. <c:set var=”userLevel” scope=”session” value=”Cowboy”/>
2.
3. <c:set var=”fido” value=”${person.dog}”/>
4.
5. <c:set var=”user” scope=”session”>
6.    Sheriff, Bartender, Cowgirl
7. </c:set>

如果“value”为null,“var”指定的属性将被删除!


如果“var”指定的属性不存在,则会创建一个属性,但仅当“value”不为null时才会创建新属性。

★ target“版本”

1. <c:set target=”${petMap}” property=”dogName” value=”Clover” scope=”session”/>
2.
3. <c:set target=”${person}” property=”name”>
4.    ${foo.name}
5. </c:set>

如果“target”是一个Map,“property”指定的是该Map的一个键;如果“target”是一个bean,“property”指定的是该bean的一个成员字段。

如果“target”表达式为null,容器会抛出一个异常。

如果“target”表达式不是一个Map或bean,容器会抛出一个异常。

如果“target”表达式是一个bean,但是这个bean没有与“property”匹配的成员字段,容器会抛出一个异常。