• Jsp:使用JavaBean


    Jsp:使用JavaBean
     
     
    1JavaBean组件标准
    ①实现java.io.Serializable接口
    ②提供无参数的构造方法
    ③提供getter()和setter()方法访问它的属性
    2.在JSP中使用JavaBean
    JSP规范中定义了<jsp:useBean>、<jsp:setProperty>、<jsp:useProperty>来建立对JavaBean的引用并读取/设置JavaBean的属性值。
     
    2.1 <jsp:useBean>
    <jsp:useBean id=”name” class=”classname” scope={“page equestsessionapplication”}/>
    执行过程:
    ①在指定的scope中查找名为name的JavaBean实例。
    ②若找到,则创建一个名为name、类型为classname的局部变量,其引用指向该JavaBean;若未找到,则在该scope中创建一个名为name、类型为classname的JavaBean,并创建相应的局部变量指向它。
     
    2.2<jsp:setProperty>
    <jsp:setProperty name=”beanName” propertyDetails/>
    其中:
    ①name=”beanName”是必选属性。其值为Bean的名称,在这之前用jsp:useBean引入的id。
    例:
    <jsp:useBean id=”usersession” scope=”session” class=”com.user.UserSession”>
    <jsp:setProperty name=”usersession” property=”name” value=”Tom”/>
    </jsp:useBean>
     
    ②propertyDetails可以通过四种不同的方法来指定属性的信息。
    [1]property=”*”
    这是一种设置Bean属性的快捷方式,在Bean中,属性的名称、类型必须和request对象中的参数名称相匹配。如果request对象的属性值中有空值,那么对应的Bean属性将不会设置任何值。同样,如果Bean中有一个属性没有与之对应的request参数值,那么这个属性同样不会设定。使用property=”*”,Bean的属性不用按HTML表单中的顺序排序。
    [2]property=”propertyName”
    使用request中的一个参数值来指定Bean中的一个属性值。这里,property指定Bean的属性名,而且Bean属性和request参数的名称应相同。如果request对象的参数值中有空值,那么对应的Bean属性将不会被设定任何值。
    [3]property=”propertyName” param=”parameterName”
    在Bean属性的名称和request中参数的名称不同时可以使用这个方法。Param指定request中的参数名。如果request对象的参数值中有空值,那么对应的Bean属性将不会被设定任何值
    [4]property=”propertyName” value=”propertyValue”
    value是一个可选属性,它使用指定的值来设定Bean的属性。如果参数值为空,那么对应的属性值也不会被设定。不能在一个<jsp:setProperty>中同时使用param和value。
     
    2.3 <jsp:getProperty>
    <jsp:getProperty>操作是对<jsp:setProperty>操作的补充,它用来访问一个Bean属性。
    <jsp:getProperty name=”beanName” propertry=”propertyName”/>
    ①name=”beanName”是必选属性。其值为Bean的名称,在这之前用jsp:useBean引入的id。
    例:
    <jsp:useBean id=”usersession” scope=”session” class=”com.user.UserSession”>
    <jsp:getProperty name=”usersession” property=”name” />
    </jsp:useBean>
     
    ②property=”propertyName”是一个必选属性。其值为所指定的Bean的属性名。
    3.注册实例1,使用property=”*”
    UserBean.java
    package com.zj.sample;
    import java.io.Serializable;
    /**
     * Create a JavaBean
     */
    public class UserBean implements Serializable {
        private static final long serialVersionUID = 1L;
        public String userName;
        public String password;
        public int age;
     
        public UserBean() {}
     
        public void setUserName(String name) {
           this.userName = name;
        }
     
        public void setPassword(String password) {
           this.password = password;
        }
     
        public void setAge(int age) {
           this.age = age;
        }
     
        public String getUserName() {
           return this.userName;
        }
     
        public String getPassword() {
           return this.password;
        }
     
        public int getAge() {
           return this.age;
        }
    }
     
    reg.html
    <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
      <title>Reg</title>
    </head>
    <body>
      User Info:<br><hr>
      <form method="get" action="reg.jsp">
    <table>
          // name="userName"对应UserBean属性
          <tr><td>Name:<input name="userName" type="text"></td></tr> 
          //name="password"对应UserBean属性
    <tr><td>Password:<input name="password" type="password"></td></tr>
     //name="age"对应UserBean属性
          <tr><td>Age:<input name="age" type="text"></td></tr>
          <tr><td><input type="submit" value="submit"></td></tr>
        </table>
      </form> 
    </body>
    </html>
     
    reg.jsp
    <%@ page language="java" contentType="text/html; charset=GB18030"
        pageEncoding="GB18030"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <jsp:useBean id="user" scope="page" class="com.zj.sample.UserBean" />
    <jsp:setProperty name="user" property="*" />//使用property="*"
     
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
        <title>Show Info</title>
    </head>
    <body>
        Reg successful!
        // property="userName"对应UserBean属性
        <br><jsp:getProperty name="user" property="userName" />
        // property="password"对应UserBean属性
        <br><jsp:getProperty name="user" property="password" />
        // property="age"对应UserBean属性
        <br><jsp:getProperty name="user" property="age" />
        <br>
    </body>
    </html>
    4.注册实例2,使用param=”parameterName”
    UserBean.java与上例相同
     
    reg2.html
    <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
      <title>Reg</title>
    </head>
    <body>
      User Info:<br><hr>
      <form method="get" action="reg2.jsp">
        <table>
          <tr><td>Name:<input name="USERNAME" type="text"></td></tr>
          <tr><td>Password:<input name="PASSWORD" type="password"></td></tr>
          <tr><td>Age:<input name="AGE" type="text"></td></tr>
          <tr><td><input type="submit" value="submit"></td></tr>
        </table>
      </form> 
    </body>
    </html>
     
    reg2.jsp
    <%@ page language="java" contentType="text/html; charset=GB18030"
        pageEncoding="GB18030"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <jsp:useBean id="user" scope="page" class="com.zj.sample.UserBean"/>
    // property="userName"对应UserBean属性,param="USERNAME"对应表单属性
    <jsp:setProperty name="user" property="userName" param="USERNAME"/>
    // property="password"对应UserBean属性,param="PASSWORD"对应表单属性
    <jsp:setProperty name="user" property="password" param="PASSWORD"/>
    // property="age"对应UserBean属性,param="AGE"对应表单属性
    <jsp:setProperty name="user" property="age" param="AGE"/>
    <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
      <title>Show Info</title>
    </head>
    <body>
      Reg successful!<br>
      // property="userName"对应UserBean属性
      Name:<jsp:getProperty name="user" property="userName"/><br>
      // property="password"对应UserBean属性
      Password:<jsp:getProperty name="user" property="password"/><br>
      // property="age"对应UserBean属性
      Age:<jsp:getProperty name="user" property="age"/><br>
    </body>
    </html>
     

    本文出自 “子 孑” 博客,请务必保留此出处http://zhangjunhd.blog.51cto.com/113473/18210

  • 相关阅读:
    结构体 和 类 的区别
    运算符重载
    迭代器
    HttpClient 同时上传多个文件及参数, 同时利用 Web Api 接收
    JS 上传图片时实现预览
    web api 如何通过接收文件流的方式,接收客户端及前端上传的文件
    同时上传参数及图片到 Web Api
    jsp jstl标签库核心标签
    jsp jstl的使用
    jsp 简单标签开发
  • 原文地址:https://www.cnblogs.com/aishang/p/3682689.html
Copyright © 2020-2023  润新知