毕业设计网
开发环境 |

jsp:setProperty动作

jsp:setProperty动作

jsp:setProperty用来设置已经实例化的Bean对象的属性,有两种用法。首先,你可以在jsp:useBean元素的外面(后面)使用jsp:setProperty,如下所示:

<jsp:useBean id="myName" ... />

<jsp:setProperty name="myName" property="someProperty" ... />

此时,不管jsp:useBean是找到了一个现有的Bean,还是新创建了一个Bean实例,jsp:setProperty都会执行。第二种用法是把jsp:setProperty放入jsp:useBean元素的内部,如下所示:

<jsp:useBean id="myName" ... >

...

<jsp:setProperty name="myName"

property="someProperty" ... />

</jsp:useBean>

 

此时,jsp:setProperty只有在新建Bean实例时才会执行,如果是使用现有实例则不执行jsp:setProperty。

  jsp:setProperty动作有下面四个属性: 属性 说明

name name属性是必需的。它表示要设置属性的是哪个Bean。

property property属性是必需的。它表示要设置哪个属性。有一个特殊用法:如果property的值是“*”,表示所有名字和Bean属性名字匹配的请求参数都将被传递给相应的属性set方法。

value value属性是可选的。该属性用来指定Bean属性的值。字符串数据会在目标类中通过标准的valueOf方法自动转换成数字、boolean、Boolean、byte、Byte、char、Character。例如,boolean和Boolean类型的属性值(比如“true”)通过Boolean.valueOf转换,int和Integer类型的属性值(比如“42”)通过Integer.valueOf转换。

value和param不能同时使用,但可以使用其中任意一个。

 

param param是可选的。它指定用哪个请求参数作为Bean属性的值。如果当前请求没有参数,则什么事情也不做,系统不会把null传递给Bean属性的set方法。因此,你可以让Bean自己提供默认属性值,只有当请求参数明确指定了新值时才修改默认属性值。

例如,下面的代码片断表示:如果存在numItems请求参数的话,把numberOfItems属性的值设置为请求参数numItems的值;否则什么也不做。

 

<jsp:setProperty name="orderBean"

property="numberOfItems"

param="numItems" />

 

如果同时省略value和param,其效果相当于提供一个param且其值等于property的值。进一步利用这种借助请求参数和属性名字相同进行自动赋值的思想,你还可以在property(Bean属性的名字)中指定“*”,然后省略value和param。此时,服务器会查看所有的Bean属性和请求参数,如果两者名字相同则自动赋值。

 

如:前例中student组件,在setProperty中设定的属性
<jsp:setProperty  name=”student”  property=”classno”  value=”56789”  />
<jsp:setProperty  name=”student”  property=”name”  value=”bbbb”  />
<jsp:setProperty  name=”student”  property=”age”  value=”33”  />等价:<%  student.age=33;%>
输出结果为:
56789  bbbb  33

以上是一部分介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:242219979咨询

上一篇:jsp:useBean动作
下一篇: 在Jsp中使用JavaBeans


版权所有 毕业设计网联系qq:242219979 © 2007-2022