0


JavaBean的使用——jsp:useBean

文章目录


前言

作为个人学习记录,我会尽可能介绍的很详细,有误和不清楚地方可评论指正。

一、JavaBean规范

1.JavaBean类必须是一个公共类,其访问属性设置为 public;

2.JavaBean类中的成员变量(属性),其访问属性应为 private;

3.对于JavaBean类中的每一个成员属性,必须提供一组存取方法即setXX()方法和getXXX()方法来访问该属性;

4.一个JavaBean类需有一个不带参数的构造函数;

例如:在项目java文件目录com.model包下创建一个User类

package com.model;

public class User {
    private String username;
    private int age;
    
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

二、相关动作组件和用法

1.jsp:useBean创建一个bean组件

<jsp:useBean id="beanID" class="ClassName" scope="application|request|page|session"/>
</jsp:useBean>//双标记

1.beanID为创建对象名

**2.class为JavaBean地址 **

例如:创建一个u2对象,相当于User u1=new User();

<jsp:useBean id="u2" class="com.model.User"></jsp:useBean>

2.jsp:setProperty用来设定一个已被创建的bean组件的属性值

<jsp:setProperty  name=" beanID " property="propertyName" value="propertyValue"/>
<jsp:setProperty name="beanId" property="propertyName" param="paramName"/>

1.只有value和param这两个标记不同,简单来说value是设定值,而param是从其他页面传值。

2.name对应需要设定的对象

3.propertyName为对象参数名

例如:实例化u2,相当于u1.setUsername("我来变强了");u1.setAge(18);

<jsp:setProperty property="username" name="u2" value="我来变强了"/>
<jsp:setProperty property="age" name="u2" value="18"/>

3. jsp:getProperty用来返回一个已被创建的bean组件的属性值。

<jsp:getProperty name="beanId“  property="propertyName" />

例如:获取用户名和年龄,相当于u1.getUsername("我来变强了");u1.getAge(18);

<jsp:getProperty property="username" name="u2"/>
<jsp:getProperty property="age" name="u2"/>

三、param的使用

1.实例全部代码:用javabean实现计算一个三角形的面积

    要将此代码放入“java”文件夹任意包下,例子中为com.model包
package com.model;

public class Triangle {
    private double al,bl,cl;
    
    public double getArea(){
        double p=(al+bl+cl)/2;
        return Math.sqrt(p*(p-al)*(p-bl)*(p-cl));
    }
    
    public double getAl() {
        return al;
    }
    public void setAl(double al) {
        this.al = al;
    }
    public double getBl() {
        return bl;
    }
    public void setBl(double bl) {
        this.bl = bl;
    }
    public double getCl() {
        return cl;
    }
    public void setCl(double cl) {
        this.cl = cl;
    }
}

2. 提交页面,name标签传值到jsp中param标签

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body bgcolor="pink">
三角形面积计算
<hr>
<form action="b.jsp" method="post">
    三角形的a边:<input type="text" name="a"><br>
    三角形的b边:<input type="text" name="b"><br>
    三角形的c边:<input type="text" name="c"><br>
    <input type="submit" value="提交">
</form>
</body>
</html>

3.jsp实现页面 ,a的值实例化到t1对象的al参数里

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="t1" class="com.model.Triangle"></jsp:useBean>
<jsp:setProperty property="al" name="t1" param="a"/>
<jsp:setProperty property="bl" name="t1" param="b"/>
<jsp:setProperty property="cl" name="t1" param="c"/>
面积为:<%=t1.getArea()%>
</body>
</html>

此时:t1.al=3;......t1这个三角形的al边为3

四 、其他完整实例

package com.model;

public class Calculator {
    private double num1,num2;
    private String type;
    
    public double getNum1() {
        return num1;
    }
    public void setNum1(double num1) {
        this.num1 = num1;
    }
    public double getNum2() {
        return num2;
    }
    public void setNum2(double num2) {
        this.num2 = num2;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    } 
    
    public double getResult() {
        if(type.equals("+")){
            return num1+num2;
            }else if(type.equals("-")){
                return num1-num2;
            }else if(type.equals("X")){
                return num1*num2;
            }else{
                return num1/num2;
            }
    }
}
<!DOCTYPE html>
<HTML>
<HEAD>
<META charset="UTF-8">
<TITLE>Insert title here</TITLE>
</HEAD>
<BODY bgcolor="pink">
    <DIV align="center">
        <FONT size="20" color="green">简易计算器</FONT><BR>
        <FORM action="d1.jsp" method="post">
            第一个数:<INPUT type="text" name="s1"><BR> 
            第二个数:<INPUT type="text" name="s2"><BR> 
            操作类型:<SELECT name="type">
                <OPTION value="+">+</OPTION>
                <OPTION value="-">-</OPTION>
                <OPTION value="X">X</OPTION>
                <OPTION value="/">/</OPTION>
            </SELECT> 
            <INPUT type="submit" value="提交">
        </FORM>
    </DIV>
</BODY>
</HTML>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <jsp:useBean id="c1" class="com.model.Calculator"></jsp:useBean>
    <jsp:setProperty property="num1" name="c1" param="s1"/>
    <jsp:setProperty property="num2" name="c1" param="s2"/>
    <jsp:setProperty property="type" name="c1" param="type"/>
    <jsp:getProperty property="num1" name="c1"/>
    <jsp:getProperty property="type" name="c1"/>
    <jsp:getProperty property="num2" name="c1"/>=<%=c1.getResult() %>
</body>
</html>

标签: java-ee 前端 java

本文转载自: https://blog.csdn.net/m0_61160520/article/details/129958716
版权归原作者 我来变强了 所有, 如有侵权,请联系我们删除。

“JavaBean的使用——jsp:useBean”的评论:

还没有评论