执行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属性和请求参数,如果两者名字相同则自动赋值。
下面是一个利用javabean计算素数的例子。如果请求中有一个numdigits参数,则该值被传递给bean的numdigits属性;numprimes也类似。
jspprimes.jsp
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>在jsp中使用javabean</title>
</head>
<body>
<center>
<table border=5>
<tr><th class="title">
在jsp中使用javabean</table>
</center>
<p>
<jsp:usebean id="primetable" class="hall.numberedprimes" />
<jsp:setproperty name="primetable" property="numdigits" />
<jsp:setproperty name="primetable" property="numprimes" />
some <jsp:getproperty name="primetable" property="numdigits" />
digit primes:
<jsp:getproperty name="primetable" property="numberedlist" />
</body>
</html>
注:numberedprimes的代码略。
jsp:getproperty 动作
jsp:getproperty动作提取指定bea
上一篇:
JSP制作验证码_jsp代码
下一篇:
jquery+css3实现的图片墙效果