• JSP教程:1天玩转JSP网站开发技术
  • JSP是什么?
  • JSP的特点与工作流程
  • JSP与ASP、PHP的比较
  • JSP页面的组成及其元素
  • JSP开发环境搭建(Tomcat的安装和配置)
  • 第一个JSP程序
  • JSP注释(多种注释详解)
  • JSP声明:变量、方法和类的声明
  • JSP中嵌入Java代码
  • JSP表达式
  • JSP开发模式(四种模式)
  • JSP常见错误以及解决方案
  • JSP指令详解(三大指令)
  • JSP page指令
  • JSP include指令
  • JSP指令应用实例
  • JSP动作
  • JSP include动作
  • JSP param动作
  • JSP forward动作
  • JSP plugin动作
  • JSP useBean动作
  • JSP setProperty动作
  • JSP getProperty动作
  • JSP application 对象
  • JSP out对象:向客户端输出数据
  • JSP request对象:获取客户端的请求信息
  • JSP response对象:响应客户端的请求并向客户端输出信息
  • JSP session对象
  • JSP pageContext对象
  • JSP page对象
  • JSP config对象
  • JSP获取并显示字符串长度
  • 什么是JavaBean?
  • JavaBean工具
  • JavaBean规范
  • JavaBean的属性(Simple、Indexed、Bound、Constrained)
  • JavaBean的Scope属性
  • JavaBean事件
  • JavaBean实现用户登录界面
  • Servlet是什么?
  • Servlet的生命周期
  • Servlet的类和方法
  • Servlet客户端跳转
  • EL是什么?(详解)
  • JSP EL表达式的基本语法及运算符的优先级(一览表)
  • JSP EL 点(.)运算符和下标([])运算符
  • JSP EL算数运算符
  • JSP EL关系运算符
  • JSP EL逻辑运算符
  • JSP EL条件运算符
  • JSP EL empty空运算符
  • EL表达式中的常量与变量
  • EL表达式的保留字
  • EL表达式的内置对象及其作用域
  • 使用EL表达式访问JavaBean
  • 使用EL表达式访问集合
  • EL表达式内置对象param和paramValues
  • EL表达式内置对象cookie
  • EL表达式内置对象initParam
  • JDBC 的定义及产品组件
  • 建立JDBC连接
  • 利用JDBC发送SQL语句
  • JDBC API ResultSet接口(记录集接口)
  • JDBC RowSet接口
  • JDBC BaseRowSet类和CachedRowSet类
  • 填充CachedRowSet对象记录集(三种方法)
  • File类(在JSP中的使用)详解
  • 使用字节流读/写文件
  • RandomAccessFile类
  • JSP文件上传
  • XML是什么?
  • XML的基本语法
  • JDK 中的 XML API
  • DOM解析XML
  • SAX解析XML
  • DOM4j解析XML
  • <jsp:setProperty> 动作标记通常与 <jsp:useBean> 动作标记一起使用,它以请求中的参数给创建的 JavaBean 中对应的属性赋值,通过调用 bean 中的 setXxx() 方法来完成。其语法格式如下:

    1. <jsp:useBean id="变量名"... />
    2. {
    3. property="*"
    4. |property="propertyName"
    5. |property="propertyName" parme="parmeterName"
    6. |property="propertyName" value="值"
    7. }
    8. />

    下面对 <jsp:setProperty> 动作中各属性的用法进行详细介绍。

    (1) name 属性:用来指定一个存在于 JSP 中某个范围内的 bean 实例。

    <jsp:setProperty> 动作标记将按照 page、request、session 和 application 的顺序来查找这个 bean 实例,直到第一个实例被找到。如果任何范围内都不存在这个 bean 实例会拋出异常。

    (2) property=”“:当 property 的取值为“”时,要求 bean 属性的名称与类型要与 request 请求中参数的名称及类型一致,以便用 bean 中的属性来接收客户输入的数据,系统会根据名称来自动匹配。

    如果 request 请求中存在值为空的参数,那么 bean 中对应的属性将不会被赋值为 null;如果 bean 中存在一个属性,但请求中没有与之对应的参数,那么该属性同样不会被赋值为 null。这两种情况下的 bean 属性都会保留原来的值或者默认的值。

    此种使用方法的限定条件是:请求中参数的名称和类型必须与 bean 中属性的名称和类型完全一致。但通过表单传递的参数都是 String 类型,所以,JSP 会自动地将这些参数转换为 bean 中对应属性的类型。

    表 1 给出了 JSP 自动将 String 类型转换为其他类型时所调用的方法。

    其他类型 转换方法
    Integer java.lang.Integer.value()Of(String)
    int java.lang.Integer.value()Of( String).intValue()
    Double java.lang.Double.value()Of(String)
    double java.lang.Double.value()Of(String).doubleValue()
    Float java.lang.Float.value()Of(String)
    float jaya.lang.Float.value()Of(String).floatValue()
    Long java.lang.Long.value()Of(String)
    long java.lang.Long.value()Of( String).longValue()
    Boolean java.lang.Boolean.value()Of(String)
    boolean java.lang.Boolean.value()Of(String).booleanValue()
    Byte java.lang.Byte.value()Of(String)
    byte java.lang.Byte.value()Of(String).byteValue()

    (3) property=”upropertyName”:当 property 属性取值为 bean 中的属性时,只会将 request 请求中与该 bean 属性同名的一个参数的值赋给这个 bean 属性。

    如果请求中没有与 property 所指定的同名参数,则该 bean 属性会保留原来的值或默认的值,而不会被赋值为 null。与 property 属性值为时一样,当请求中参数的类型与 bean 中的属性类型不一致时,JSP 会自动进行转换。

    (4) property=”propertyName” param=”parameterName”:property 属性指定 bean 中的某个属性,param 属性指定 request 请求中的参数。该种方法允许将请求中的参数赋值给 bean 中与该参数不同名的属性。

    如果 param 属性指定参数的值为空,那么由 property 属性指定的 bean 属性会保留原来的值或默认的值,而不会被赋为 null。

    (5) property=”propertyName” value=”值”:value 属性指定的值可以是一个字符串数值或表示一个具体值的 JSP 表达式或 EL 表达式,该值将被赋给 property 属性指定的 bean 属性。

    当 value 属性是一个字符串时,如果指定的 bean 属性与其类型不一致,JSP 会将该字符串值自动转换成对应的类型。

    当 value 属性指定的是一个表达式时,则该表达式所表示的值的类型必须与 property 属性指定的 bean 属性一致,否则,将会拋出 argument type mismatch 异常。