Java学习11.10(Javabean 2)

使用<jsp:setProperty>

<jsp:setProperty>标签用于对 JavaBean 的属性赋值,可以对某个 JavaBean 的某个属性赋值,也可以对 JavaBean 的所有属性赋值。它与直接调用 setUsername 和 setUserpass 的作用
是相同的。
<jsp:setProperty>标签的基本格式如下:
<jsp:setProperty name="JavaBean 的名字" property="属性的名字"
[value="值"] [param="表单元素名字"]/>
要为某个 JavaBean 的某个属性赋值,需要知道为哪个 JavaBean 的哪个属性赋值,以及赋什么样的值。name 属性指出要对哪个 JavaBean 赋值,该 JavaBean 应该是已经存在的
JavaBean。property 属性指出要为 JavaBean 的哪个属性赋值,应该是 JavaBean 的某个属性的名字。value 或者 param 指出要赋什么样的值,value 直接指出值,param 指出使用用户的
表单请求数据中表单元素的名字。要为前面声明的 JavaBean 对象 user 的 username 属性赋值 lixucheng,可以使用下面的代码:
 
<jsp:setProperty name="user" property="username" value="lixucheng"/>
value 的值可以使用表达式语言,这样就可以使用前面定义好的信息。假设在 request
中已经存在保存用户名的 username 变量,可以写成下面的样子:
<jsp:setProperty name="user" property="username" value="${username}"/>
如果这个值是来自请求信息中的表单元素 username,则可以写成下面的样子:
<jsp:setProperty name="user" property="username" value="${param.username}"/>
如果要赋的值来源于请求表单元素,还可以写成下面的样子:
<jsp:setProperty name="user" property="username" param="username"/>
如果表单元素的名字和要赋值的属性的名字相同,则可以省略 param 属性(效果是相
同的):
<jsp:setProperty name="user" property="username"/>
也就是说,如果没有给定值,系统会查看请求表单元素,看有没有与当前要赋值的属性的名字相同的,如果有,则获取这个表单元素的值,然后给 JavaBean 的属性赋值。
 
要想为 JavaBean 的 userpass 属性赋值,可以使用下面的代码:
<jsp:setProperty name="user" property="userpass"/>
 
这时候分别从表单元素中取出用户名和口令,然后分别对 Java 的属性 username 和userpass 进行赋值。在这样的情况下,两个赋值语句可以写在一起,如下所示:
<jsp:setProperty name="user" property="*"/>该语句表示为 user 对象的所有属性赋值。
 
综上所述,<jsp:setProperty>标签存在以下 4 种形式:
● <jsp:setProperty name="JavaBean 的名字" property="属性的名字" value="值"/>
● <jsp:setProperty name="JavaBean 的名字" property="属性的名字"
param="表单元素名字"/>
● <jsp:setProperty name="JavaBean 的名字" property="属性的名字"/>
● <jsp:setProperty name="JavaBean 的名字" property="*"/>
 
 

使用<jsp:getProperty>

<jsp:getProperty>标签用于获取 JavaBean 的属性的值,并显示在相应的位置上,其作用与调用 getUsername 和 getUserpass 的作用是相同的。
 
<jsp:getProperty>标签的基本格式如下:
<jsp:getProperty name="JavaBean 的名字" property="属性的名字"/>name 属性指定要获取哪个 JavaBea 的属性,这个 JavaBean 应该是一个已经存在的
JavaBean。property 属性指定获取 JavaBean 的哪个属性,是 JavaBean 的属性的名字。
 
要想获取属性 username 的值,可以使用下面的代码:
<jsp:getProperty name="user" property="username"/>
 
这个代码与下面代码的作用完全相同:
${user.username}

 

 

 

 

 

 

 

posted on 2020-11-10 18:40  桑榆非晚柠月如风  阅读(37)  评论(0编辑  收藏  举报