Thursday, 5 February 2009

WHATIS: Jave Bean

今天看到perry写了一个很强大的jsp page,通过java bean调用linux server上的matlab程序并执行一些在页面上输入的matlab代码,运行结果可以直接显示在jsp page上。

java bean 是一个java模型组件,他为使用java类提供了一种标准的格式,在用户程序和可视化管理工具中可以自动获得这种具有标准格式的类的信息,并能够创建和管理这些类。
java bean 可以使应用程序更加面向对象,可以把数据封装起来,把应用的业务逻辑和显示逻辑分离开,降低了开发的复杂程度和维护成本!
回答者: shutgun - 秀才 二级 3-29 09:26
Bean
Bean是Enterprise Java Bean的缩写
就是组件的意思。它是为了实现某一个功能而设计的。也可以把一些常量,方法封装进去。实现很好的结构化效果,体现面向对象方面的优势。它的功能简单点说就相当于一个零件。

在JSP中使用 Java Bean的一个例子:
test.jsp的代码如下:

<html>

<head>

<title>JSP中使用 Java Bean的测试</title>

</head>

<body>

<jsp:useBean id="test" class="SimleBean" />

<jsp:setProperty name="test" property="message" value="Hello JSP"/>

<p>消息:

<jsp:getProperty name="test" property="message" />

</body>

</html>



解释:

:表示定义一个java bean的实例,实例的名称是test,类的名称是SimleBean。
:表示设置实例test的属性message,其值是"Hello JSP"。
:表示在页面中输出实例test的属性message的值。

· test.jsp文件中用到的java bean 的代码SimpleBean.java如下:

public class SimpleBean
{
private String message;

public String getMessage()
{
return message;
}

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



1、

javaBean是特殊类型的java类,它与普通java类相比主要区别是包含了两种特殊的方法:set…(设置属性的方法)、get…(取属性值的方法)。
动作用来查找或实例化一个jsp页面使用的JavaBeans组件。
在程序中可把逻辑控制、数据库操作放在javabeans组件中,然后在jsp文件中调用它,这样可增加程序的清晰度及程序的可重用性。

· 语法如下:

scope="page | request | session | application"
class="package.claaa"
type="package.claaa"
other elements
/>

· 属性:

1) id="beanInstanceName"
用来绑定Bean实例的变量。
2) class|type="package.claaa"
表明该bean具体是对哪个类的实例化。
3) scope="page | request | session | application"
表示该bean的有效范围。
Page:实例的有效范围是当前页面。
Request:实例的有效范围是一个单独客户请求的生命周期内。
Session:实例的有效范围是整个用户会话的生命周期内。
Application:实例的有效范围是应用的生命周期内。

2、

该动作的含义是使用bean中相应的set()方法设置一个或多个属性的值,值的来源是通过value属性明确给出,或者利用request对象中相应的参数。
假设某个bean有一个string类型的可被JSP文件使用的属性myProperty,则它必须有一个public方法setMyProperty(string value),动作使用的就是该方法。

· 语法如下:

property="*" | property ="propertyName"
value="具体的值"
/>

· 属性:

1) name="beanInstanceName"
这个属性是必须的,用来表明对哪个bean实例执行下面的动作,这个值和动作中定义的id必须对应起来,包括大小写都必须一致。
2) property="*" | property ="propertyName"
这个属性是必须的,用来表示要设置哪个属性。如果property的值是"*",表示用户在可见的JSP页面中输入的全部值,存储在匹配的bean属性中。匹配的方法是:bean的属性名称必须与输入框的名字相同。
3) value="具体的值"
它用来指定bean的属性的值。

3、

这个动作提取指定bean属性的值,转换成字符串,然后输出。该动作实际是调用了bean的get()方法。
按上文提到的某个bean有一个string类型的可被JSP文件使用的属性myProperty,它必须有一个返回类型为string的public方法getMyProperty()。使用的就是这个方法。

语法如下:



· 属性:

1) name="beanInstanceName"
这个属性是必须的,用来表明对哪个bean实例执行下面的动作,这个值和动作中定义的id必须对应起来,包括大小写都必须一致。
2) property="*" | property ="propertyName"
这个属性是必须的,用来表示要获取哪个属性。

No comments:

My photo
London, United Kingdom
twitter.com/zhengxin

Facebook & Twitter