JavaBean - 笔记

2.JavaBean的jsp动作标签

基本有:<jsp:useBean> 声明并创建JavaBean对象实例
<jsp:setProperty> 对JavaBean对象的指定属性设置值 <jsp:getProperty> 获取JavaBean对象指定属性的值,并显示在网页上

2.1 声明JavaBean对象

声明格式<jsp:useBean id="对象名" class="类名" scope="有效范围"/>
class属性:用来指定类名,必须使用完全限定类名(包名.类名)
id属性 :指定所有创建的对象名称。
scope属性:指定对象的作用范围(page request session application)
不写默认为page

<jsp:useBean id="c" class="beans.Add" scope="session"/>

2.2设置JavaBean属性值

使用<jsp:setProperty>动作标签
(1) 简单属性设置
<jsp:setProperty name="beanname" property="propertyname "balue="beanvalue"/>
beanname代表对象名,对应useBean中的id。beanvalue是要设置的值,propertyname代表属性名字。

	<jsp:setProperty name="c" property="shuju1" value="0"/>

在jsp脚本代码中可以这样设置属性值

<jsp:useBean id="c" class="beans.Add" scope="session"/>
<% 
	c.setShuju1(10);
	c.setShuju2(20);
%>

(2)将单个属性与输入参数直接关联
直接给JavaBean实例中同名属性赋值

<jsp:setProperty name="beanname" property="propertyname"/>

功能:将参数名称为propertyname的值交给同JavaBean属性名称同名的属性,自动实行数据类型转换。
(3)…将单个属性与输入参数间接关联…
若属性与请求参数的名称不同,则可以通过JavaBean属性与请求参数之间的间接关联实现赋值。

<jsp:setProperty name="beanname" property="propertyname" param="paramname"/>

功能:将请求参数名称为paramname的值给propertyname属性值
(4).将所有属性与请求参数关联
将所有的属性与请求参数关联实现自动赋值并自动转换数据类型

<jsp:setProperty name="beanname" property="*"/>

功能:将提交页面表单输入域所有提供的输入值提交到JavaBean对象同名属性的值中。

2.3 获取JavaBean属性值并显示

<jsp:getProperty name="c" property="sum"/>

应用:3. 网页计数器JavaBean的设计与使用

类:

package beans;

public class Counter 
{
	private int count;
	public Counter() {}
	public int getCount()
	{
		count++;
		return count;
	}
	public void setCount(int count)
	{
		this.count = count;
	};
	
}

两个jsp显示页面

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
		<head><title>第一个页面</title></head>
   <body>
	<jsp:useBean id="counter" scope="application" class="beans.Counter"/>
	<h1>这次访问的是counter11111111!!!</h1><br>
	<h2>两页面共被访问的次数:     <jsp:getProperty name="counter" property="count"/></h2>
   </body>
</html>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
		<head><title>第一个页面</title></head>
   <body>
	<jsp:useBean id="counter" scope="application" class="beans.Counter"/>
	<h1>这次访问的是counter222222222222!!!</h1><br>
	<h2>两页面共被访问的次数:     <jsp:getProperty name="counter" property="count"/></h2>
   </body>
</html>

为什么用application不同session
application是直到服务器关闭才结束,session是直到浏览器关闭,
如果用session 的话 网页访问数目不会改变刷新完就又到0了。

4.基于JavaBean+jsp求任意两个数的和

input.jsp:

<%@ page language="java" pageEncoding="UTF-8"  import="java.util.*"  %>
<html>
	<head> <title>输入页面</title> </head>
	<boby>
		<form action="Show.jsp" method="post">
		加数&nbsp&nbsp<input name="shuju1"><br>
		被加数&nbsp&nbsp<input name="shuju2"><br>
			<input type=submit value="提  交">
		</form>
	</boby>
</html>

show.jsp

<%@ page language="java" pageEncoding="UTF-8"  import="java.util.*"  %>
<html>
		<head> <title>JavaBean+JSP求和 显示页面</title> </head>
	<boby>
		<jsp:useBean id="c" class="beans.Add" scope="request"/>
		<jsp:setProperty name="c" property="*"/>
		
			调用jsp:getPropetry 作标签显示结果值:<br>
			<jsp:getProperty name="c" property="shuju1"/>+
			<jsp:getProperty name="c" property="shuju2"/>=
			<jsp:getProperty name="c" property="sum"/>
	</boby>
</html>

Add.java

package beans;
public class Add
{
	private int shuju1;
	private int shuju2;
	private int sum;
	public Add() {}
	public int getShuju1() {
		return shuju1;
	}
	public void setShuju1(int shuju1) {
		this.shuju1 = shuju1;
	}
	public int getShuju2() {
		return shuju2;
	}
	public void setShuju2(int shuju2) {
		this.shuju2 = shuju2;
	}
	public int getSum() {
		return shuju1+shuju2;
	}
	public void setSum(int sum) {
		this.sum = sum;
	}
}
	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值