第5章 JavaBean组件技术-student

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.1 JavaBean的基本概念 5.2 JavaBean的定义 5.3 JavaBean的使用

调用 JSP页面 调用
其他的 Java类 其他的 Java类
在哪里?
定义:<%!----%> 本质:一个JSP内部类,这种类只能在当前 JSP页面中使用 缺点:不适合重用性很高的模块设计 通常只用于局部逻辑实现
<html> <head> <title>内部类调用实例</title> </head> <body> <% Student st=new Student(); st.setName("hello,This is Class in Jsp "); String bb=st.getName(); out.println(bb); %> </body> </html>

JavaBean属性的名称
◦ 只读属性,只有getXxx方法 ◦ 只写属性,只有setXxx方法 ◦ 可读写属性,同时具备getXxx方法和setXxx方法

属性规范的其它要求
◦ 对于布尔型属性,可以采用is代替get ◦ 访问属性的方法必须是public类型; ◦ JavaBean类必须具有一个不带任何参数的public型 构造方法。
独立的java文件



可以被JSP页面自由使用,也可以被任何的其它系 统使用。 优点 ◦ 重用性和扩展性好 ◦ 易于调试 位置:java类文件不能存放在WEB-INF文件夹以 外路径;只有按照其对应包结构存放在classes文 件夹下,才能被JSP页面或整个Tomcat服务器系 统使用
/*01*/ /*02*/ /*03*/ /*04*/ /*05*/ /*06*/ /*07*/ /*08*/ /*09*/ /*10*/ /*11*/ /*12*/ /*13*/

要在Jsp页面中使用定义好的JavaBean,需要在该 JSP页面中创建一个JavaBean的实例,然后才能够 通过该实例调用JavaBean定义的方法。
标记名称 <jsp:useBean> 标记作用 指定范围内获得一个Bean组件, 如果不存在就创建
<jsp:setProperty>
<jsp:getProperty>

JavaBean是一种可重用组件,可以根据用户的 要求实现任意功能。 优点 提高代码的可重用性 可以在支持Java的任何平台上运行 易于编写和维护

通常一个JavaBean是一个public(公有的)类, 可供其他类实例化。 如果有对类的成员进行获取或改变该成员变量 (设该成员变量的名字为XXX)的值的方法,通 常方法的命名使用以下格式: getXXX( )方法,用来获取成员XXX的值。 setXXX( )方法,用来设置成员XXX的值。
package myBean; public class Student { public String str; public String getName() { return str; } public void setName(String fd) { str=fd; } }
<%@ page contentType="text/html;charset=GB2312"%> <html> <body> <% myBean.Student st=new myBean.Student(); st.setName(“姓名:zhangSan "); String bb=st.getName(); out.println(bb); %> </body> </html>表示使用当前 页面中request对象的各个参数和Bean 中的属性进行匹配
◦ request中参数名称和值类型与Bean中某个属 性匹配,则将request对象中的属性赋予对应 属性 ◦ 若request中某个参数值为“”,则该属性不 会被赋予JavaBean对应属性。

<%@ page contentType="text/html;charset=GB2312"%> <%! public class Student { public String str; public String getName() { return str; } public void setName(String fd) { str=fd; } } %>


<jsp:getProperty >用来获取JavaBean中属性的 值 所得到的值会转换成相应的字符串,然后发送到 输出流输出。 Bean示例的名称 其语法格式为 :
<jsp:getProperty name="Bean的名字" property="属性名"/>
获取的属性的名称
<jsp:useBean id=“obj” class=“myBean.Person" scope="page"/> <jsp:setProperty name="obj" property="name" value="zhangsan"/> <jsp:setProperty name=“obj” property=“gender" value="male"/> <jsp:setProperty name="obj" property="age" value="32"/> 你是:<jsp:getProperty name="obj" property="name"/><br> 年龄:<jsp:getProperty name="obj" property="age"/><br> 性别:<jsp:getProperty name=“obj” property=“gender”/><br>
Bean实例的名称
<jsp:setProperty name="Bean的名字" property="属性名“
被设置的属性名称。由 request中的同名参数的 值进行赋值 二选一
| property="属性名” param="参数名” | property=“属性名” value="属性值” | property=“*” />
/*01*/ package myBean; /*02*/ public class Person /*03*/ { /*04*/ private String aaa; /*05*/ private int xxx; /*06*/ private String bbb; /*07*/ public String getName() /*08*/ { /*09*/ return aaa; /*10*/ } /*11*/ public void setName(String fd) /*12*/ { /*13*/ aaa=fd; /*14*/ } ……… /*31*/}
<%@ page contentType="text/html;charset=GB2312"%> <html> <head> </head> <body> <form method="post" action="LoginHandler.jsp"> name : <input type="text" name=" name " > pwd : <input type=“password" name="password "><br> <br> <input type="submit" name="submit" value="submit"> </form> </body> </html>
<jsp:useBean id="obj" class="myBean.Person" scope="page"/> <% obj.setAge(32); obj.setName("zhangsan"); obj.setGender("male"); %> 你是:<%=obj.getName() %><br> 年龄:<%=obj.getAge() %><br> 性别:<%=obj.getGender()%><br>
class:Bean的类路径和类 名,该类必须是非抽象的, 且有一个默认构造方法
<jsp:useBean id=" name " scope="page|request|session|application " class="classname" type="typename"/> 或 <jsp:useBean id=" name " scope="page|request|session|application " beanName="beanName" type="typename"/> 或 <jsp:useBean id=" name " scope="page|request|session|application " type="typename"/>
设置指定Bean组件的属性
获取指定Bean组件的属性
id:Bean的名称,有 效范围内唯一
<jsp:useBean id="name" scope="page|request|session|ap
plication "
scope:Bean的有效范围, 默认为page
class="classname"/>
<%@ page contentType="text/html;charset=GB2312"%> <html> <body> <jsp:useBean id=“user” class=“er" scope="page" /> <jsp:setProperty name=“user" property="*" /> 欢迎: <jsp:getProperty name=“user" property="name" /> <br> 密码是: <jsp:getProperty name=“user" property=" password" /> </body> </html>

由value param 指定的值对属性 指定的参数的 值对属性名称进行赋值 名称进行赋值
<jsp:useBean id="obj" class="myBean.Person" scope="page"/> <jsp:setProperty name="obj" property="name" value="zhangsan"/> <jsp:setProperty name="obj" property=“gender“ value="male"/> <jsp:setProperty name="obj" property="age" value="32"/> 你是:<%=obj.getName() %><br> 年龄:<%=obj.getAge() %><br> 性别:<%=obj.getSex()%><br>

JavaBean是一种特殊的Java类,对象的所 有公共方法都可以被直接调用。
<html> <head> <title>直接调用类</title> </head> <body> <% myBean.Person obj=new myBean.Person (); obj.setName(“zhangsan”); %> 姓名是:<%= obj.getName() %><br> </body> </html>
1. 2. 3. 4.
5.
6. 7. 8. 9. 10. 11.
12.
13. 14. 15. 16.
public class User { private String name; private String password; public String getName() { return name; } public void setName(String name) { = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
相关文档
最新文档