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="C语言中文网"scope="page"/> <c:set var="hostpage" value="c.biancheng.net" 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
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频