JSP <jsp:setProperty> 动作

返回上一级

JSP <jsp:setProperty> 动作用来在 JSP 页面设置已经实例化的 Bean 对象的属性

JSP <jsp:setProperty> 动作有两种用法

  1. 可以在 <jsp:useBean> 元素的外面(后面)使用 <jsp:setProperty>

    <jsp:useBean id="myName" ... />
      ...
    <jsp:setProperty name="myName" property="someProperty"/>
    

    这种方法,不管 <jsp:useBean> 使用一个已经存在的Bean,还是新创建了一个 Bean 实例,<jsp:setProperty> 都会执行

  2. 把 <jsp:setProperty> 放入 <jsp:useBean> 元素的内部

    <jsp:useBean id="myName" ... >
      ...
       <jsp:setProperty name="myName" property="someProperty" />
    </jsp:useBean>
    

    这种方法,<jsp:setProperty> 只有在新建 Bean 实例时才会执行,如果使用现有实例则不执行 <jsp:setProperty>

属性

属性 描述
name 必需。它表示要设置属性的是哪个 Bean
property 必需的。它表示要设置哪个属性。有一个特殊用法:如果property的值是"*",表示所有名字和Bean属性名字匹配的请求参数都将被传递给相应的属性set方法
value 可选的。该属性用来指定Bean属性的值。字符串数据会在目标类中通过标准的valueOf方法自动转换成数字、boolean、Boolean、 byte、Byte、char、Character。例如,boolean和Boolean类型的属性值(比如"true")通过 Boolean.valueOf转换,int和Integer类型的属性值(比如"42")通过Integer.valueOf转换。
value和param不能同时使用,但可以使用其中任意一个
param 可选的。它指定用哪个请求参数作为Bean属性的值。如果当前请求没有参数,则什么事情也不做,系统不会把null传递给Bean属性的set方法。因此,你可以让Bean自己提供默认属性值,只有当请求参数明确指定了新值时才修改默认属性值

范例

1. 我们先来定义一个 JavaBean

src/main/java/cn/twle/demo/bean/TestBean.java

// author: 简单教程(www.twle.cn)
// Copyright © 2015-2065 www.twle.cn. All rights reserved.


package cn.twle.demo.bean;

public class TestBean 
{
    private String message = "简单教程(www.twle.cn)";

    public String getMessage()
    {
        return(message);
    }

    public void setMessage(String message)
    {
        this.message = message;
    }
}

2. 然后在生成一个 JSP 页面调用 TestBean

webapp/action_usebean.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" 
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<meta charset="utf-8">
<title>JSP 使用 JavaBean 范例 - JSP 基础教程 | 简单教程(www.twle.cn)</title>
<p>JSP 使用 JavaBean 范例 - JSP 基础教程 | 简单教程(www.twle.cn)</p>
<jsp:useBean id="test" class="cn.twle.demo.bean.TestBean" />
<jsp:setProperty name="test" 
                    property="message" 
                    value="简单编程..." />
<p>输出信息....</p>
<jsp:getProperty name="test" property="message" />

在浏览器上输入 http://localhost:8080/jsp/action_usebean.jsp 显示结果如下

返回上一级

JSP 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.