关于jsp中

关于jsp中

jsp:usebean 的详细用法
最简单的使用bean的方式是: 

< jsp:usebean id = " name "   class = " package.class " />  
为了装载bean,需要用jsp:setproperty和 jsp:getproperty来修改和检索bean的属性。且,还有两种别的选项。首先,您可以使用容器的格式,也就是: 

< jsp:usebean  >  
body 
</ jsp:usebean >  

要指出的是,body部分应该仅在bean第一次实例化时被执行,而不是在每次被找到和使用时。beans能够被共享,因此,并不是所有的jsp:usebean 陈述都产生一个新的bean的实例。其次,除了id 或class以外,还有三种属性您可以使用:scope,type,和beanname。这些属性总结如下: 

属性 

用法 

id 
给一个变量命名,此变量将指向bean。如果发现存在一个具有相同的id和scope 的bean则使用之而不新建一个。 

class  
指出bean的完整的包名。 

scope 
指明bean在之上可以被使用的前后关系。有四个可能的值:page,request,session,和application。缺省为page,表明bean仅在当前页可用(保存在当前的pagecontext中)。request的一个值表明bean仅用于当前客户端的请求(保存在servletrequest对象中)。session的值指出在当前的httpsession的生命周期内,对象对所有的页面可用。 最后,application的值指出对象对所有共享servletscontext的页面可以使用。使用jsp:usebean 仅在没有相同的id和scope 的bean时创建一个新的bean,如果已有则使用之,并忽略以jsp:usebean标志开始和结尾的代码。 

type 
指明将指向对象的变量的类型。这必须与类名相匹配或是一个超类或者是一个实现类的接口。记住,变量的名由id属性来指定。 

beanname 
赋予bean一个名字,您应该在beans的实例化方法中提供。它允许您给出type和一个beanname,并省略类属性。 
三、jsp:setproperty action 

语法: 

< jsp:setproperty 
name
= " beaninstancename "  
<  property = " * "   |  
property
= " propertyname "  [ param = " parametername "  ]  |  
property
= " propertyname "  value = ""  
>  
/>  

在前面我们就知道了可以使用 jsp:setproperty 来为一个bean的属性赋值。您可以使用两种方式实现它。其一是,在jsp:usebean后(而不是在之内)使用jsp:setproperty: 

< jsp:usebean id = " myname "    />  
 
< jsp:setproperty name = " myname "  
property
= " someproperty "    />  

在这种方式中,jsp:setproperty 将被执行无论是否已有一个具有相同的id和scope的bean存在。另一种方式是,jsp:setproperty出现在jsp:usebean 元素内,如: 

< jsp:usebean id = " myname "    >  
 
< jsp:setproperty name = " myname "  
property
= " someproperty "    />  
</ jsp:usebean >  

此种情况下,jsp:setproperty仅在新的对象被实例化时才执行。 

以下是四种jsp:setproperty的可用的属性: 

属性 

用法 

name 
这是一个必选属性。它指出哪一个bean的属性将被设置。jsp:usebean必须出现在jsp:setproperty之前。 

property 
这是一个必选属性。表明您将设置哪一个属性。然而,有一个特殊的情况:如果以
" * " 为值意味着,所有的名称与bean的属性匹配的request参数都将被传递到相应的属性设置方法。 
value 
这是一个可选属性。它指定被设置的属性的值。字符串的值通过相应的对象或包的标准的valueof方法将自动的转换为numbers,
boolean , boolean , byte , byte , char ,和character。例如,boolean或boolean属性的值“ true ”将通过boolean.valueof方法转化,而,一个int或integer属性的值“ 42 ”将通过integer.valueof转化。您不能同时使用value和param属性,但,两个都不用是允许的。 

param 
这是一个可选属性。它指明了bean的属性应该继承的request的参数。如果当前的request没有这样的一个参数,就什麽也不做:系统并不将null传给设置属性的方法。因此,您可以使用bean的缺省值。例如下面的这段程序执行“将numberofitems属性设置为任意numitems request参数的值,如果有这样的一个request参数,否则什么也不做。” 

你可能感兴趣的:(关于jsp中)