JSP 使用c:set和c:remove操作处理变量


在JSTL中,c:set操作用于初始化或设置指定作用域内的变量。

使用c:set设置变量

<c:set>的用法如下:

1
2
3
<c:set var = "variable"
value = "value"
scope = "scope">
  • 在var属性中,您可以声明或者引用一个变量。
  • value属性指定变量的值。
  • 如果要设置变量的作用域,可以使用scope属性。scope属性接受任何有效的JSP变量作用域,如页面、请求、会话和应用程序。

c:set设置变量示例

1
2
3
4
5
<c:set var = "userid"
value = "10"
scope = "session" />
 
<c:out value="${userid}" />

在这里我们把session范围内的变量userid的值设置为10。然后使用c:out操作将其打印出来。

使用c:set设置对象的属性

我们还可以使用 c:set设置对象的属性:

1
2
3
<c:set target= "object"
property = "property name"
value = "value of property" />

使用c:set设置对象的属性示例

首先定义一个Person类。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.jsptutorial;
 
public class Person {
 
private String name;
 
public Person() {
this.name = "";
}
 
/**
* @return 返回名字
*/
public String getName() {
return name;
}
 
/**
* @param name 需要设置的名字
*/
public void setName(String name) {
this.name = name;
}
}

在JSP页面中,把这个类当做JavaBean进行使用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%@page contentType="text/html"
pageEncoding="UTF-8"
import="com.jsptutorial.*"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core"
prefix="c" %>
<html>
<head>
<title>JSTL 示例</title>
</head>
<body>
<jsp:useBean id="person"
class="com.jsptutorial.Person" />
 
<c:set target="${person}"
property="name"
value="theITroad" />
 
<c:out value="${person.name}" />
</body>
</html>

我们使用useBean操作命令初始化了一个Person对象person。然后通过c:set给对象的属性进行赋值。
最后通过c:out就可以在浏览器中显示出该值。

c:remove操作

除了c:set操作之外,JSTL还提供了c:remove操作,它用于从指定的作用域中删除变量。

c:remove的语法如下:

1
2
<c:remove var = "variable name"
scope = "scope" />


原文链接:https://codingdict.com/