JSP简明教程:行为标签与实例(1)
JSP简明教程:行为标签与实例(1)
在学习如何用Java编写你的JSP页之前,你需要了解叫做“行为actions)”的服务器端的JSP元素,它执行服务器端的任务而不需我们编写Java代码。action标签可以被高级的页面设计者使用,那些可能并不熟悉Java而又想显示存于JavaBeans组件中的值的脚本编写者也可以使用它。正如前面提到的,大多数标签都是基于以组件为中心的web开发模型的。首先,我要描述一些JSP提供的action标签,然后展示一个仅仅使用标签来从一个JavaBean中显示信息的JSP页的例子――不需要编写Java代码。
载入一个JavaBean
记住,JSP模型离不开JavaBeans,因此多数JSP标签假定你将用到存于bean中的信息。在你用到一个JavaBean之前,你必须调用标签<jsp:usebean>来声明你将使用它。后面你将学到,此标签是否会在页面内生成一个新的bean实例这个实例可能已经在前面的会话或应用中生成了),取决于你为这个bean声明的作用域生命周期)。
<jsp:usebean>标签要包含几个参数,它们分别说明:
◆该JavaBean所从属的类
◆该JavaBean实例的名称
◆该JavaBean的作用域生命周期)
例如:
<jsp:usebean ID="myBeanInstance" CLASS="com.myPackage.myBeanClass" SCOPE="request"> ...body... </jsp:usebean> |
在这里<jsp:usebean>标签后是一段在bean创建后被调用的主体部分,然后是一个结束标签</jsp:usebean>。如果这个主体是空的,你也可以选择下面这种简单的形式:
<jsp:usebean ID="myBeanInstance" CLASS="com.myPackage.myBeanClass" SCOPE="request"/>
这个示例程序会生成一个在com.myPackage.myBeanClass 类中定义过的bean的实例,在该页中命名为myBeanInstance;它只在其生命周期――对此JSP页的一个HTTP请求之内存在。这个bean现在就可以被该页使用了。
初始化一个JavaBean
并不是所有的JavaBeans都可以被简单的创建然后使用,有一些还需要在使用之前进行初始化。在<jsp:useBean> 和</jsp:useBean>标签的主体部分中,你可以用<jsp:setProperty>标签初始化bean的属性。你可以把bean的属性设置为指定的值或从HTTP请求中传送来的值,比如来自一个已提交的表单。
要初始化bean 的属性myProperty 为一个指定值,你可以用下面的格式:
<jsp:usebean ID="myBeanInstance" CLASS="com.myPackage.myBeanClass" SCOPE="request"> <jsp:setProperty NAME="myBeanInstance" PROPERTY="myProperty" VALUE="123"/></jsp:usebean> |
下面的格式用来把同样的bean属性初始化为从HTML表单元素或一个URL查询字串中传送来的值:
<jsp:usebean ID="myBeanInstance" CLASS="com.myPackage.myBeanClass" SCOPE="request"> <jsp:setProperty NAME="myBeanInstance" PROPERTY="myProperty" PARAM="myFormElementName"/> </jsp:usebean> |
注意,不能在一个<jsp:setProperty>标签中同时使用VALUE和PARAM属性标志。
另外,在<jsp:usebean>行为的主体中使用<jsp:setProperty>时,在页面内你可以单独使用它。在此之前,必需先用<jsp:useBean>标签定义一个有适当作用域的bean。
用户点评