• JSP jsp:setProperty:属性值设定标签

    JSP 中的 <jsp:setProperty> 标签通常情况下与 <jsp:useBean> 标签一起使用,它将调用 Bean 中的 setXXX() 方法将请求中的参数赋值给由 <jsp:useBean> 标签创建的 JavaBean 中的对应的简单属性或索引属性。

    语法:

    <jsp:setProperty
    name="Bean实例名"
    {
    property="*"|
    property="propertyName"|
    property="propertyName"param="parameterName"|
    property="propertyName"value="值"
    }/>

    <jsp:setProperty> 标签中各属性的简要说明如表所示。

    属  性 说  明
    name 必须存在的属性,用来指定一个Bean实例
    property 必须存在的属性,可选值为或指定Bean中的属性。当取值为时,则request请求
    中的所有参数的值将被一一赋给Bean中与参数具有相同名字的属性:若取值为Bean中的属性, 
    则只会将request请求中与该属性同名的一个参数的值赋给这个Bean属性,
    若此时指定了 param 属性,那么请求中参数的名称与Bean属性名可以不同
    param 用于指定请求中的参数,通过该属性指定的参数的值将被赋给由property属性指定的Bean 属性
    value 用来指定一个值,它可以是表示具体值的表达式。通常与property属性一起使用,
    表示将指 定的值赋给指定的Bean属性。value属性不能与param属性一起使用

    property 属性取值为“*”时,则 request 请求中的所有参数的值将被一一赋给 Bean 中与参数具有相同名字的属性。如果请求中存在空值的参数,那么 Bean 中对应的属性将不会被赋值为 Null;如果 Bean 中存在一个属性,但请求中没有与之对应的参数,那么该属性同样不会被赋值为 Null。这两种情况下的 Bean 属性都会保留原来或默认的值。

    这种使用方法要求请求中参数的名称和类型必须与 Bean 中属性的名称和类型一致。但由于通过表单传递的参数都是 String 类型的,所以 JSP 会自动将这些参数转换为 Bean 中对应属性的类型。下表列出了 JSP 自动将 String 类型转换为其他类型时所调用的方法。

    其他类型 转换方法
    boolean java.lang.Boolean.valueORString).booleanValue()
    Boolean java Jang.Boolcan.valueOf ⑸ ring)
    byte java.lang.Bytc.valucOflStringJ.bjtcValucO
    Byte java.lang.Bytc.valucOf|String)
    double java.lang.Doublc.valucOflString).doublcValuc()
    Double java.lang.Double.valueOfl( String)
    ini java.lang. Integer. valueOf^String).intValue()
    Integer java.lang. Integer. valueOf^String)
    float java. lang. Float .valucOnString). float Value();
    Float java.Iang.Float.valucORString)
    long java. lang. Lx)ng. valueOf( Stri ng). longValuef)
    Long java.Iang.Long.valueOftString)

    示例1

    在不存在 Body 标签的页面中应用 <jsp:useBean> 和 <jsp:setProperty> 标签为 Bean 中的内容进行赋值,具体代码如下:

    <jsp:useBean id="logonimg" class="com.javabean.Image" scope="request"/>
    <jsp:setProperty name="logonimg" property="x" param="logon.x"/>
    <jsp:setProperty name="logonimg" property="y" param="logon.y"/>

    示例2

    在 Body 标签内应用 <jsp:setProperty> 和 <jsp:useBean> 标签为 Bean 中的内容赋值,具体代码如下:

    <jsp:useBean id="logonimg" class="com.javabean.Image" scope="request">
      <jsp:setProperty name="logonimg" property="x" param="logon.x"/>
      <jsp:setProperty name="logonimg" property="y" param="logon.y"/>
    </jsp:useBean>

更多...

加载中...