假设JavaBean先于网站被创建出来,你需要做的第一件事就是告诉JSP页面它将要用到一个“Bean。你可以用“<jsp:useBean>标记来做到这一点:;
<jsp:useBean id="localName" class="com.jguru.Person" scope="application" />。;
“<jsp:useBean>标记要求你用“id属性来识鉴别Bean。这里你提供一个名字来JSP页面其余部分的Bean。除了“id属性,你还须告诉网页面从何处查找Bean,或者它的Java类别名是什么。这种类别属性提供确 认Bean的功能,其他一些方法也可以做到这一点。最后一个必需的元素是“scope属性。有了“scope属性的帮助,你就能告诉Bean为单一页面(默认情况)[scope="page"]、为[scope="request"]请求为会话[scope="session"],或者为整个应用程序[scope="application"]保持留信息。有了会话范围,你就能非常容易地在JSP网页面上维护购物车等项目。;
一旦你声名了一个JavaBean,你就可以访问它的属性来定制它。要获得属性值,请用“<jsp:getProperty>标记。有了这个标记,你就能指定将要用到的Bean名称(从useBean的"id"字段得到)以及你想得到其值的属性。实际的值被放在输出中:;
<jsp:getProperty id="localName" property="name" />。;
要改变JavaBean属性,你必须使用“<jsp:setProperty>标记。对这个标记,你需要再次识别Bean和属性,以修改并额外提供新值。如果命名正确,这些值可以从一个已提交的表中直接获得:参数获得:;
<jsp:setProperty id="localName" property="*" />;;
可以从一个参数获得,但你必须直接命名属性和参数:;
<jsp:setProperty id="localName" property="serialNumber" value="string" />;
或者直接用一个名字称和值来设置: <jsp:setProperty id="localName" property="serialNumber" value= <%= expression %> />.;
关于JavaBean 的最后一件事: 为了Web服务器能找到JavaBean,你需要将其类别文件放在一个特殊位置。用JSWDK,最 方便的位置是安装目录下的类别目录,如jswdk-1.0.1classes。;
JSP隐含对象;
与JSP语法相关的最后的元素是一些叫做“隐含对象的东西。在JSP代码片段中,你可以利用这些隐含对象与JSP页面的代码片段执行环境产生互动。应尽量少访问这些内置隐含对象。但是,在一某些情况下,访问隐含对象是可被接受的。若要充分利用隐含对象,就需了解最新的Java Servlet API。;
下表列出可用的隐含对象集合。;
隐含对象说明;
request 客户端请求,包括从GET/POST请求传递过来的参数;
response 网页传回客户端的反应;
pageContext 在此管理网页属性;
session 与请求关联的会话;
application 代码片段的运行环境;
out 传送响应的输出流;
config 代码片段配置对象;
page JSP网页本身;
exception 有错的网页中未被捕获的例外;
这些都是用来做什么的,你又如何来使用它们呢?基本上说,在你的脚本片段里,你可以用它们进入执行JSP代码的代码片段。用不着深入了解太多的Servlet API细节,我们来看看能用它们来做到的某些事情:;
你可以不用表达式,直接进入“Out隐含对象,将某些内容输出到响应中:;
<% out.println("Hello"); %>。;
用不着把一个参数直接送到JavaBean,你可以从请求对象获取参数值:;
<% String name=request.getParameter("name"); out.println(name); %>.
在你用JSP进行开发的过程中,进行更多的开发的过程中,如果创建了JavaBeans或发现JSP文件中加入了太多的Java源代码,你就需要创建起支持作用的Java分类(class)了,它可以协助你重复利用源代码并减少JSP网页编译时间。当你需要创建Java分类文件时,你必须:;
标签: