我需要了解如何在JSP页面中使用Bean并更新其属性。请分享一个例子。
useBean 动作非常通用。它首先使用id和scope变量搜索现有的对象。如果找不到对象,则尝试创建指定的对象。
加载Bean最简单的方法如下:
<jsp:useBean id = "name" class = "package.class" />
加载Bean类后,可以使用jsp:setProperty和jsp:getProperty动作来修改和检索Bean属性。
下表列出了与useBean动作相关的属性:
| 序号 | 属性及描述 |
|---|---|
| 1 | class 指定Bean的完整包名。 |
| 2 | type 指定将引用该对象的变量的类型。 |
| 3 | beanName 给出java.beans.Beans类的instantiate()方法指定的Bean名称。 |
在给出与这些动作相关的有效示例之前,让我们讨论一下jsp:setProperty和jsp:getProperty动作。
<jsp:setProperty> 动作
setProperty动作设置Bean的属性。在执行此动作之前,必须先定义Bean。使用setProperty动作有两种基本方法:
您可以像下面这样在jsp:useBean元素之后但外部使用jsp:setProperty:
<jsp:useBean id = "myName" ... /> ... <jsp:setProperty name = "myName" property = "someProperty" .../>
在这种情况下,无论是否实例化了新的Bean或找到了现有的Bean,都会执行jsp:setProperty。
jsp:setProperty出现的第二个上下文是在jsp:useBean元素的主体内部,如下所示:
<jsp:useBean id = "myName" ... > ... <jsp:setProperty name = "myName" property = "someProperty" .../> </jsp:useBean>
在这里,只有在实例化新对象时才执行jsp:setProperty,而不是在找到现有对象时。
下表列出了与setProperty动作相关的属性:
| 序号 | 属性及描述 |
|---|---|
| 1 | name 指定将设置其属性的Bean。必须先定义Bean。 |
| 2 | property 指示要设置的属性。“*”表示所有名称与Bean属性名称匹配的请求参数都将传递给相应的setter方法。 |
| 3 | value 要分配给给定属性的值。如果参数的值为null或参数不存在,则忽略setProperty动作。 |
| 4 | param param属性是要接收属性值的请求参数的名称。不能同时使用value和param,但允许两者都不使用。 |
<jsp:getProperty> 动作
getProperty动作用于检索给定属性的值,将其转换为字符串,最后将其插入输出。
getProperty动作只有两个属性,这两个属性都是必需的。getProperty动作的语法如下:
<jsp:useBean id = "myName" ... /> ... <jsp:getProperty name = "myName" property = "someProperty" .../>
下表列出了与getProperty动作相关的必需属性:
| 序号 | 属性及描述 |
|---|---|
| 1 | name 要检索其属性的Bean的名称。必须先定义Bean。 |
| 2 | property property属性是要检索的Bean属性的名称。 |
示例
让我们定义一个测试Bean,它将在我们的示例中进一步使用:
/* File: TestBean.java */
package action;
public class TestBean {
private String message = "No message specified";
public String getMessage() {
return(message);
}
public void setMessage(String message) {
this.message = message;
}
}将上述代码编译成生成的TestBean.class文件,并确保您将TestBean.class复制到C:\apache-tomcat-7.0.2\webapps\WEB-INF\classes\action文件夹中,并且CLASSPATH变量也应设置为该文件夹:
现在在main.jsp文件中使用以下代码。这将加载Bean并设置/获取一个简单的String参数:
<html>
<head>
<title>Using JavaBeans in JSP</title>
</head>
<body>
<center>
<h2>Using JavaBeans in JSP</h2>
<jsp:useBean id = "test" class = "action.TestBean" />
<jsp:setProperty name = "test" property = "message"
value = "Hello JSP..." />
<p>Got message....</p>
<jsp:getProperty name = "test" property = "message" />
</center>
</body>
</html>现在让我们尝试访问main.jsp,它将显示以下结果:
Using JavaBeans in JSP Got message.... Hello JSP...
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP