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

时间:2018-11-15 12:54:54  来源:igfitidea点击:

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

使用c:set设置变量

<c:set>的用法如下:

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

c:set设置变量示例

<c:set var = "userid"
       value = "10"
       scope = "session" />
 
<c:out value="${userid}" />

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

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

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

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

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

首先定义一个Person类。

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进行使用。

<%@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的语法如下:

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