zoukankan      html  css  js  c++  java
  • JSP上的JavaBeans

    在JSP中提供对JavaBean的支持,可以通过操作指令<jsp:useBean>, <jsp:setProperty>以及<jsp:getProperty>来操作JavaBeans
    首先用<jsp:useBean>定义要应用的JavaBeans,然后用<jsp:setProperty>来存储属性值,最后用<jsp:getProperty>提取存储的属性:

    image

    <jsp:useBean>的语法格式:
        <jsp:useBean id="名字" scope="范围" class="类名称" type="类的种类" beanType="Bean的类型" …>
        操作语法格式有两种:
        <jsp:useBean id="name " scope="scope" typespec />  // 不包含操作主体
        <jsp:useBean id="name " scope="scope" typespec>
            操作主体
        </jsp:useBean>
        各个属性的含义:
        Id: 用作制定范围内JavaBean对象的标识符,在JSP页面内声明一个Java脚本变量。该值是一个脚本变量,大小写敏感,必须符合Java标示符的命名规则。该值也用在<jsp:setProperty>和<jsp:getProperty>操作的name属性中,指定所访问的JavaBean.
        Scope: 指定JavaBean存在的范围。它与PageContext对象获得的范围相同,可能的值如下:
            Page: 可以在包含<jsp:useBean>元素的JSP文件以及此文件中的所有静态包含文件中使用Bean,直到页面执行完毕并向客户端发回响应或转到另一个文件为止,该值为默认值。
            Request:  从创建Bean开始,就能在任何使用相同Session的JSP文件中使用Bean,直到页面执行完毕并向客户端发回响应或者转到另一个文件为止。
            Response: 从创建Bean开始,就能在任何使用相同session的JSP文件中使用Bean,这个Bean存在于整个Session生存周期内,任何分享此Session的JSP文件都能使用同一个Bean。
            Application: 从创建Bean开始,就能在任何使用相同application的JSP文件中使用Bean。这个Bean存在于整个application生存周期内,任何在分享此application的JSP文件都能使用同一个Bean。
        上述范围内的JavaBean都可以使用的pageContext对象的getAttribute和setAttribute访问。在request, session和application范围内的JavaBean可以分别在Servlet中使用ServletRequest, HttpSession和ServletContext对象的getAttribute和setAttribute访问。
        Typespec: 类型规范,它由class, type和beanName属性组合而成,这些属性的组合可以灵活地实现<jsp:useBean>操作,从而定义生成Bean的对象和类型。
            Class: Bean的对象名称。在现实要使用的Bean对象时使用class,默认值是Null,而且不能缺少
                <jsp:useBean class="Family.Mother" type="Family.Syster" />
            Type: Bean对象的类型
            beanName: 使用和class参数相似的概念定义Bean时,如果不使用class参数,就要定义beanName参数,这是为了完成Bean的内部代码而使用的属性。
        typespec: 的3种参数不能同时使用,使用方法有以下4种:
            Class="package.class"; //只定义输入到Bean中的类,type的默认值和class参数相同
            Type="package.class" // 这是在定义类之后,为重新定义type而使用的
            Class="package.class" type="package.class" //作为决定类(class)和type时使用,如果class和type的设定相同就可以省略type参数
            beanName="{package.class, <%=expression %>}" type="package.class" //这个表达式的作用是定义指定的bean-class的Bean名称和type参数。beanName参数可以定义Bean的类名称,也可以利用表达式定义Bean的类名称。
    <jsp:setProperty>操作:
        <jsp:setProperty>操作用于设置JavaBean中的属性值,在使用<jsp:setProperty>之前,必须先用<jsp:useBean>创建JavaBean。其语法格式如下:
            <jsp:setProperty name="Name" //创建的JavaBean实例的名字
                { property = "*" |  // 属性名,若为"*", JavaBean中的属性列表与当前请求中的参数列表比较,一旦出现匹配,则使用相应的请求参数调用set方法。如果request对象的参数值中有空值,那么对应的JavaBean属性将不会这顶任何值。
                  property = "propertyName" param="parameterName" | // 指定JavaBean的某个属性名
                  property= "propertyName" value=""{string | <%=expression %>}" //设定JavaBean的属性,这个值可以是字符串,也可以是表达式。
                }
            />
        <jsp:setProperty>的应用又一下3种方式:
            <jsp:setProperty name="beanname" property="*" />
            <jsp:setProperty name="beanname" property="request 参数" /> 或者
                <jsp:setProperty name="beanname" property="bean参数" param="request参数" />
            <jsp:setProperty name="beanname" property="bean参数" value="参数值" />
    <jsp:getProperty>操作:
        <jsp:getProperty>操作应用于设置属性的<jsp:setProperty>操作,它将获得JavaBean的属性值,并将其实用或现实在JSP页面中。在使用<jsp:getProperty>之前,必须先使用<jsp:useBean>创建JavaBean:
            <jsp:getProperty name="name" property="propertyName" />
    Demos:
    <jsp:useBean id="checking" scope="session" class="bank.Checking" >
        <jsp:setProperty name="checking" property="balance" value="0.0" />
        用户的账号信息为:
        <jsp:getProperty name="checking" property="account" />
    </jsp:useBean>

    路慢慢其休远羲,吾将上下而求所
  • 相关阅读:
    c# – 通过反射获取命名空间中的所有类型
    宝塔任务计划通道设置
    DRF项目框架基础设计
    Redis-数据特征和应用场景
    Redis-持久化详解
    Dockerfile文件详解
    ntp同步阿里服务器时间(centos)
    NUC8/11更新EC Firmware
    ambarella H2 kernel调试记录
    MobaXterm 执行make menuconfig不能删除字符
  • 原文地址:https://www.cnblogs.com/garinzhang/p/2509284.html
Copyright © 2011-2022 走看看