Jsp中使用JavaBean

來源:互聯網
上載者:User
原創作品,允許轉載,轉載時請務必以超連結形式標明文章
原始出處 、作者資訊和本聲明。否則將追究法律責任。http://zhangjunhd.blog.51cto.com/113473/18210Jsp中使用JavaBean 本文介紹如何在Jsp中使用JavaBean。

1.JavaBean組件標準①實現java.io.Serializable介面②提供無參數的構造方法③提供getter()和setter()方法訪問它的屬性2.在JSP中使用JavaBeanJSP規範中定義了<jsp:useBean>、<jsp:setProperty>、<jsp:useProperty>來建立對JavaBean的引用並讀取/設定JavaBean的屬性值。 2.1 <jsp:useBean>

<jsp:useBean id=”name” class=”classname” scope={“page/request/session/application”}/>
執行過程:①在指定的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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.