我们这次接着上篇文章来,首先来看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>
浏览器访问,执行以上文件,输出如下所示:
好啦,本次的记录就到这里了。
如果感觉不错的话,请多多点赞支持哦。。。