JSP JSTL <c:set>标签:设置标签
<c:set> 标签用于定义和存储变量,它可以定义变量是在 JSP 会话范围内还是 JavaBean 的属性中,可以使用该标签在页面中定义变量,而不用在 JSP 页面中嵌入打乱 HTML 排版的 Java 代码。<:set> 标签有 3 种语法格式。
<c:set> 标签各属性的详细介绍如表所示。
使用 <c:set> 标签定义两个变量 allCount 和 count,其中 allCount 作用域为 application,而 count 作用域为 session,页面被浏览时累加两个变量实现计数器的功能,关键代码如下:
今天访问本网站总人数为:76
今天您访问了此网站次数为:102
语法格式一:
<c:set var="name"[scope="page|request|session|application"]>
标签体
</c:set>
语法格式二:
<c:set value="value" target="object" property="propName"/>
将变量值存储在 target 属性指定的目标对象的 propName 属性中。语法格式三:
<c:set target="object" property="propName">
标签体
</c:set>
<c:set> 标签各属性的详细介绍如表所示。
属性 | 类型 | 描述 | 引用 EL |
---|---|---|---|
value | Object | 将要存储的变量值 | 可以 |
var | String | 存储变量值的变量名称 | 不可以 |
target | Object | 存储变量值或者标签主体的目标对象,可以是JavaBean或Map集合对象 | 可以 |
property | String | 指定目标对象存储数据的属性名 | 可以 |
scope | String | 指定变量存在于JSP的范围,默认值是page | 不可以 |
示例
本示例应用 <c:set> 标签定义 page 和 session 两个范围内的变量,关键代码如下:<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> //在page范围内定义变量 <c:set var="name" value="新宝库"scope="page"/> <c:set var="hostpage" value="www.xinbaoku.com" scope="session"/>
典型应用
通过 JSTL 的 <c:set> 标签来实现“写入”的功能,自定义两个变量的作用域,分别定义为 application 和 session。使用 <c:set> 标签定义两个变量 allCount 和 count,其中 allCount 作用域为 application,而 count 作用域为 session,页面被浏览时累加两个变量实现计数器的功能,关键代码如下:
<table align="center" cellpadding="0" cellspacing="0" bgcolor="lightblue"> <c:set var="allCount" value="${allCount+1}" scope="application"></c:set> <c:set var="count" value="${count+1}" scope="session"></c:set> <Tr><td> 今天访问本网站总人数为:${allCount}<br/> 今天您访问了此网站次数为:${count}<br/> </td></Tr> <c:set var="test" value="by value property"></c:set> <c:set var="test">by body</c:set> </table> <br/> <br/> <% request.setAttribute("user",new com.mr.bean.User()); request.setAttribute("map",new java.util.HashMap()); %> <c:set target="${user}" property="name" value="${param.name}"></c:set> ${user.name} <c:set target="${map}" property="name" value="${param.name}"/> ${map.name}运行结果如下:
今天访问本网站总人数为:76
今天您访问了此网站次数为:102
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算