JSP开发之JSP 动作元素(useBean&setProperty&getProperty的操作实例)

我们这次接着上篇文章来,首先来看useBean实例。

jsp:useBean 动作用来加载一个将在JSP页面中使用的JavaBean,这个功能非常有用,因为它使得我们可以发挥 Java 组件复用的优势。来看下它的语法结构:

<jsp:useBean id="name" class="package.class" />

完事在类载入后,我们既可以通过 jsp:setProperty 和 jsp:getProperty 动作来修改和检索bean的属性,来看下useBean动作相关的属性列表:

属性 描述
class 指定Bean的完整包名。
type 指定将引用该对象变量的类型。
beanName 通过 java.beans.Beans 的 instantiate() 方法指定Bean的名字。

我们再来看jsp:setProperty动作元素。

jsp:setProperty用来设置已经实例化的Bean对象的属性,有两种用法。首先,我们可以在jsp:useBean元素的外面(后面)使用jsp:setProperty,如下所示:

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

此时,不管jsp:useBean是找到了一个现有的Bean,还是新创建了一个Bean实例,jsp:setProperty都会执行。第二种用法是把jsp:setProperty放入jsp:useBean元素的内部,如下所示:

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

此时,jsp:setProperty只有在新建Bean实例时才会执行,如果是使用现有实例则不执行jsp:setProperty。我们来看下jsp:setProperty动作的四个属性:

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

再来看jsp:getProperty动作。

jsp:getProperty动作提取指定Bean属性的值,转换成字符串,然后输出。它的语法格式如下:

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

完事来看下getProperty相关联的属性:

属性 描述
name 要检索的Bean属性名称。Bean必须已定义。
property 表示要提取Bean属性的值

好啦,接下来,我们就来综合咱们先前说的三个动作元素,来写一个案例大家感受下。

首先,创建一个MakeBean.java文件,完事对它进行编译,先来看代码:

package com.luyaran.www;

public class MakeBean {
   private String message = "luyaran";
 
   public String getMessage() {
      return(message);
   }
   public void setMessage(String message) {
      this.message = message;
   }
}

完事了,就开始进行编译:

完事之后,会产生一个class文件:

我们把它放到这个目录下:

目录已经存在就算了,不存在的话就得手动创建了哈。完事之后,我们在一个名叫main.jsp的文件中,来功能是装载一个Bean,然后设置/读取这个Bean的message属性,来看代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>luyaran</title>
</head>
<body>

<h2>Jsp 使用 JavaBean 实例</h2>
<jsp:useBean id="test" class="com.luyaran.www.MakeBean" />
 
<jsp:setProperty name="test" 
                    property="message" 
                    value="you are my love." />
 
<p>输出信息:</p>
 
<jsp:getProperty name="test" property="message" />

</body>
</html>

浏览器访问,执行以上文件,输出如下所示:

好啦,本次的记录就到这里了。

如果感觉不错的话,请多多点赞支持哦。。。

猜你喜欢

转载自blog.csdn.net/luyaran/article/details/81216113
今日推荐