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>

 

 

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值