尽管你可以在Java的程序码(scriptlets)中加入大量的代码块,但是,事实上大多数Java代码都应该在可再利用的组件中使用,这些组件叫做JavaBeans。JavaBeans就象Activex控件一样:它们提供了被人们熟知的功能性和再利用的特性。
JavaBean的值通过一组属性的定义而成为可利用的,这些属性提供了访问JavaBean的设置。拿一个人来作比方,把这个人当作一个JavaBean,那么这个人的名字,社会保险号码和住址就是他的属性。在JSP的站点中,你主要是通过执行连接beans来动态的访问你的站点。
假设JavaBeans在创造站点之前就已经被构造,那么首先你必须要让你的JSP页面知道你要使用一个bean。这个步骤由<jsp:useBean>标签来完成:
<jsp:useBean id="localName" class="com.jguru.Person" scope="application" />.
<jsp:useBean>标签需要你利用id的属性来确定bean。在这里你需要在静态的JSP页面中提供一个名字来标识bean。除此之外,你必须告诉这个页面去什么地方找bean或者Java类的名字,类的属性在其他少数的地方提供了这个信息。最后必要的一个元素是scope属性。在它的帮助下,你可以利用beans来为一个页面(the default) [scope="page"],请求[scope="request"],生存期限[scope="session"];或者整个应用[scope="application"]提供信息,通过利用session scope,你可以在JSP页面中添加其他的项目,比如购物卡之类。
一旦你定义了一个JavaBean,你就有权使用它的属性来定义它。为了获得一个适当的值,就要使用<jsp:getProperty>标签,使用这个标签你可以详细的定义一个bean。它的实际指标将被放置在输出中:
<jsp:getProperty id="localName" property="name" />.
如果想要改变JavaBean的属性,你需要使用<jsp:setProperty>标签,利用这个标签你可以重新定义你的bean和属性并提供新的值。如果要改变命名的属性,这些可以直接从下面的形式中获得:
<jsp:setProperty id="localName" property="*" />;
你可以从下面的形式中直接命名属性和参数:
<jsp:setProperty id="localName" property="address" param="parameterName" />;
或者直接设置名字和值:
<jsp:setProperty id="localName" property="serialNumber" value="string" /> or <jsp:setProperty id="localName" property="serialNumber" value= <%= expression %> />.
最后一步就是:为了让Web服务器能够找到JavaBeans,你需要在一个特别的地方放置它们的类文件。利用JSWDK,最明了的地方就是在安装目录下创建一个类目录,比如 jswdk-1.0.1classes.
本文作者:John Zukowski 是软件开发的领袖,jGuru.com教育的主编,另外,他还是一些Java著作和众多与Java有关的技术文章的作者。