2023年11月28日发(作者:)

JSP setProperty动作标记

setProperty动作标记在使用之前,需要用useBean动作标记包含一个JavaBean

该标记可通过3种方式设置beans属性的值,分别为将beans属性的值设为一个表

达式的值或字符串、通过http表单的参数值来设置beans相应属性的值,以及通过

request的参数值来设置beans相应属性的值。

1.设为一个表达式的值或字符串

JSP页面中,可以setProperty动作标记设置JavaBean中的值,其中一种方法

是将JavaBean对应的变量通过表达式或者字符串进行赋值。该动作标记的语法格式

为:

bean name property=property name value=“str />

bean name property=property name value=<%=expression%>

/>

在上述代码中,第一种格式通过字符串赋值,第二种通过表达式赋值。其中na

me="beanInstanceName"这个属性是必须的,用来表明对哪个bean实例执行下面的

动作,这个值和动作中定义的id必须对应起来,包括大小写都必须一

致。property="propertyName"这个属性也是必须的,用来表示要设置哪个属性。val

ue="具体的值"主要用来指定bean的属性的值。

现在创建一个案例,演示使用字符串和表达式给JavaBean赋值。首先创建Jav

aBean,打开记事本,输入下列代码:

package test;

public class StudentBean{

String name;

double cheng;

public StudentBean (){

= "刘红霞";

= 5.0;

}

public void setName(String name)

{ = name;}

public String getName()

{return name;}

public void setCheng (double cheng

{ = cheng;}

public double getCheng()

{return cheng;}

}

将上述代码保存,名称为。在该文件中封装了两个变量,分别

namecheng。依据前面的方法保存并编译该JavaBean

现在开始编写JSP文件,打开记事本,输入下列代码:

<%@ page contentType="text/html;charset=GB2312"%>

使用set方法组赋值:<%

e("王小娟");

ng(78);

%>

姓名:<%= e()%>

成绩:<%= ng()%>


使用setProtery赋值:

<%String str="赵天波";%>

value="10"/>

value = "<%=str%>"/>

姓名:<%= e()%>

成绩:<%= ng()%>

将该文件保存,文件名为。文件保存位置和前面案例相同。

打开IE浏览器,在地址栏中输入localhost:8080/JSPExample/

单击【转到】,会显示如图4-7所示窗口:

4-7 字符串或表达式赋值

JSP文件中,使用了两种方式给JavaBean赋值,一种为se方法组,一种是

通过setProperty动作标记赋值。使用setProperty动作标记赋值时,可以使用字符串,

也可以使用表达式<%=str%>进行赋值。

2.通过http表单参数值设置

在前面的JSP文件中,使用setProperty设置JavaBean的值,是在JSP页面中直

接设置。也可以通过http表单的参数值来设置beans相应属性的值,要求表单参数

的名字必须与beans属性的名字相同。其语法格式为:

property=“*” />

在上述代码中,name表示引入JavaBeanID名称。property的值是"*",表示

用户在可见的JSP页面中输入的全部值,存储在匹配的bean属性中。匹配的方法是:

bean的属性名称必须与输入框的名字相同。

现在创建一个案例,演示使用http表单给JavaBean赋值。该案例的JavaBean

可以使用本节中第一个小节的JavaBean。现在创建JSP文件,打开记事本,输入下

列代码:

<%@ page contentType="text/html;charset=GB2312" %>

姓名:

成绩:

name= "goodsbean" property="*" />

姓名:<%= e()%>

成绩:<%= ng()%>

将上述代码保存,名称为。打开IE浏览器,在地址栏中输入

localhost:8080/JSPExample/,单击【转到】,会显示如图4-8

所示窗口:

4-8 http表单赋值

在该文件中,通过使用http表单和setProperty设置JavaBean中的值。这里需要

注意的是文本域的名称必须和JavaBean中的变量值相对应。

3.通过request参数值设置

JavaBean中属性的值,也可以通过request的参数值来设置beans相应属性的值,

要求request参数名字必须与beans属性的名字相同。其语法格式为:

在上述代码中,name表示JavaBeaID名称,property表示属性JavaBean

属性名称,param属性代表了页面请求的参数名字,需要注意的是不能同时使用pa

ramvalue

现在创建一个案例,演示使用request参数给JavaBean赋值。该案例的JavaBe

an可以使用本节中第一个小节的JavaBean。现在创建JSP文件,打开记事本,输入

下列代码:

<%@ page contentType="text/html;charset=GB2312" %>

姓名:

成绩:


name= "goodsbean" property="name" param="name" />

name= "goodsbean" property="cheng" param="number" />

姓名:<%= e()%>

成绩:<%= ng()%>

将上述文件保存,名称为。打开IE浏览器,在地址栏中输入

hlocalhost:8080/JSPExample/,单击【转到】,会显示如图4-9

所示窗口:

4-9 request参数赋值

在该文件中,通过requestJavaBean赋值,param对应的是http表单中的文

本域的名称,property对应的是JavaBean中变量的名称。