首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

JavaBean的容易用法

2012-11-12 
JavaBean的简单用法JSP中的JavaBean的一些简单用法1.JavaBean组件的作用是提高了代码的复用率,将页面的现

JavaBean的简单用法
JSP中的JavaBean的一些简单用法

1.JavaBean组件的作用是提高了代码的复用率,将页面的现实逻辑和业务逻辑区分开,使得HTML开发人员和java程序员能够分开工作。
2.JavaBean组件本身就是一个类,只不过一个标准的JavaBean组件有几个特征而已。
    (1)它是一个公开的(public)类。
    (2)它必须有一个默认的构造办法。即没带参数的构造办法。
    (3)它提供公有的getXXX()和setXXX()办法给外部程序获取JavaBean的属性值。
        但可以屏蔽一些getXXX()和setXXX()办法。即有些属性可以是只读或只写。对于 
        Boolean属性对于的办法应该是is/set。
    (4)索引属性是指获取和设置数组时使用的属性。要运用索引属性,需要提供两对
       get/set办法,一对用于数组,另一对用于数组中的元素。
3.JavaBean的一个例子
    public class Person{
        private String name;
        private int age;
        private boolean married=false;
        private String[] interest;

        public String getName(){
            return name;
        }
        public void setName(String name){
            this.name=name;
        }

        public int getAge(){
            return age;
        }
        public void setAge(int age){
            this.age=age;
        }
      
        public boolean isMarried(){
            return married;
        }
        public void setMarried(boolean married){
            this.married=married;
        }
       
        public String[] getInterest(){
            return this.interest;
        }
        public void setInterest(String[] interest){
            this.interest=interest;
        }
        public String getInterest(int i){
            return this.interest[i];
        }
        public void setInterest(int i,String newInterest){
            interest[i]=newInterest;
        }
    }
4.如何在JSP中使用JavaBean
JSP中提供了3个动作元素来访问JavaBean,分别是<jsp:useBean>,<jsp:setProperty>和<jsp:getProperty>

4.1<jsp:useBean>动作语法如下:
    <jsp:useBean id="idName" scope="page/request/session/application" typeSpec />
    其中的typeSpec的定义如下:
    typeSpec::=type="typeName"    |
    type="typeName"    prop_expr />
    其中,prop_expr的定义如下:
    prop_expr ::=property="*"    |
                        property="propertyName"    param="parameterName"
                        property="propertyName" value="propertyValue"

    其中各个属性的含义如下:
    name:实例的名字,它必须是已经在<jsp:useBean>元素中通过id属性定义的名字。
    property设置属性的名字。如果是"*"表示请求参数传递过来的名字和JavaBean的名字是
            一样的。
    param请求参数的名字。
    value:JavaBean的值。不能与param同时使用。

4.3<jsp:getProperty>
    <jsp:getProperty>用来访问一个bean的属性。并把属性的值转化成一个String。如果属
                    性是一个对象,将调用对象的toString()办法。
    该动作元素的语法如下:
    <jsp:getProperty name="name" property="propertyName">
    其中,各个属性的含义为:
    name:JavaBean的名字。
    property要得到的属性名字。该属性必须在JavaBean中时可读的属性。

5.实例。
    下面将结合上述进行一个简单的例子。

5.1javaBean类:
    package com.havy.bean;
    public class PersonBean implements java.io.Serializable{
    private static final long serialVersionUID = -4301923149579270947L;
   
    private String name;
    private int sex;
    private boolean married=false;
    private String[] interest;
   
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getSex() {
        return sex;
    }
    public void setSex(int sex) {
        this.sex = sex;
    }
    public boolean isMarried() {
        return married;
    }
    public void setMarried(boolean married) {
        this.married = married;
    }
    public String[] getInterest() {
        return interest;
    }
    public void setInterest(String[] interest) {
        this.interest = interest;
    }
    public String getInterest(int i){
        return this.interest[i];
    }
    public void setInterest(int i,String newInterest){
        interest[i]=newInterest;
    }
}
5.2HTML提交页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>用户信息填写</title>
</head>
<body>
    <form action="reg.jsp" method="post" name="reg">
        <table >
            <tr>
                <td>用户名:</td>
                <td><input type="text" name="personName"></td>
            </tr>
            <tr>
                <td>性别:</td>
                <td>
                    <input type="radio" name="sex" value="1" checked>男
                    <input type="radio" name="sex" value="0">女
                </td>
            </tr>
            <tr>
                <td>婚否</td>
                <td>
                    <input type="checkbox" name="married" value="1">婚否
                </td>
            </tr>
            <tr>
                <td>兴趣</td>
                <td>
                    <input type="checkbox" name="interest" value="shopping">购物
                    <input type="checkbox" name="interest" value="sport">运动
                    <input type="checkbox" name="interest" value="onLine">上网
                </td>
            </tr>
            <tr>
                <td><input type="reset" value="重填"></td>
                <td><input type="submit" value="提交"></td>
            </tr>
        </table>
    </form>
</body>
</html>

5.3设置JavaBean和获取JavaBean的值
<%@page contentType="text/html;charset=gb2312" %>
<%
    request.setCharacterEncoding("gb2312");
%>
<jsp:useBean id="person" scope="session" property="*" />
    <jsp:setProperty name="person" property="name" param="personName" />

<html>
    <body>
        <a href="personInfo.jsp">查看设置的属性</a>
       
你的姓名:<jsp:getProperty property="name" name="person"/><br>
你的性别:<%
            int sex=person.getSex();
            if(1==sex)
                out.println("男");
            else if(0==sex)
                out.println("女");
          %>
          <br>
你的婚否:<%
            boolean married=person.isMarried();
            if(married)
                out.println("已经结婚");
            else
                out.println("还没结婚");
            %>
            <br>
你的兴趣:
            <%
            String[] s=person.getInterest();
            for(int i=0;i<s.length;i++){
                out.println(person.getInterest(i));
            }
            %><br>

    </body>
</html>

热点排行