Let's Go!
java_JavaBean学习笔记
上一篇 /
下一篇 2009-10-29 20:19:37
/ 个人分类:JAVA学习&编程相关
JavaBean 原理:
<jsp:useBean id="sb" scope="page" class="com.xsz.test.javabean.SimpleBean" />
<%--
实例化了一个 SimpleBean类对象 ---> sb (类SimpleBean的一个实例化对象)
后台输出 -----> " *** JavaBean初始化---SimpleBean init().... "
----> 执行此句时,用无参构造方法,实例化了一个 SimpleBean 对象
---->相当于执行了 SimpleBean sb = new SimpleBean() ;
sb 是对象名 --%>
<jsp:setProperty name="sb" property="*"/>
<%--
根据反射规则,设置了对象sb的全部属性,自动匹配
request ----> request.getParameterNames()
----> name ---> setName(String name)方法 ---> 设置属性 setName(request.getParameter("name")) ;
----> password ---> setName(String password)方法 ---> 设置属性 setName(request.getParameter("password")) ;
其他设置属性的方法,类似。
--%>
一、 如何编写 javaBean ,要求:
1. 所有的JavaBean必须放在一个包中----->*.class文件 放在 WEB-INF/classes文件夹下
2. JavaBean 必须声明称 public class 类型 ---> 文件名称与类名称一样
3. 所有的属性必须封装(private 声明)
4. 设置和取得属性通过 setter、getter 方法
5. 使用jsp标签去调用 JavaBean 时,必须有一个无参的构造方法
Java 命名规范(略)
二、 如何在 Jsp中使用 JavaBean
1.调用:
方法1 : 使用 导入指令 ---> <%@ page import="包名.类名"%>
方法2 :使用jsp标签指令调用
<jsp:useBean
id="sb"
scope="page"
class="包名.类名"
/>
2. JavaBean修改后,要生效,须重启服务器,或设置 tomcat 属性为 <Context reloadable="true"/>
3. 使用jsp标签去调用 JavaBean 时,必须有一个无参的构造方法
public SimpleBean()
{ System.out.println("***SimpleBean init()...."); } ;
// 使用jsp标签去调用 JavaBean 时,必须有一个无参的构造方法
// 否则报错,提示无法找到 VO 对象,即JavaBean 的初始化方法---->无参构造方法,
//org.apache.jasper.JasperException: com.xsz.test.javabean.SimpleBean: method <init>()V not found
三、jsp 设置 JabaBean 属性:
四种设置属性的方法:
1. <jsp:setProperty name="sb" property="*"/>
自动匹配全部的属性值
2. <jsp:setProperty name="sb" property="name"/>
可以根据自己的需要设置需要的属性值
3. <jsp:setProperty name="sb" property="name" param="password"/>
可以根据自己的需要,任意选择传递的参数
4. <jsp:setProperty name="sb" property="name" value="myValue"/>
根据用户的需要,自己设置参数的值,
如果输入的值是一个变量,则,需要表达式输出
之所以能够自动匹配,使用了Java反射机制,根据参数名称,找到相应的方法。
原则: 因此,使用JavaBean自动设置内容时,一定要让参数名称与Bean中的属性名称一致,
这样通过java的命名规范,可以达到统一,否则取值失败。
四、 jsp 取得JavaBean 属性:
实际上就是打印输出 JavaBean 的属性值。
姓名: <jsp:getProperty name="sb" property="name" />
密码: <jsp:getProperty name="sb" property="password"/>
五、 JavaBean 的作用域范围:
page , request , session , application 范围 -----> 设置 scope="范围"
<jsp:useBean
id="sb"
scope="page"
class="包名.类名"
/>
六 附JavaBean属性设置方法:
<%--
<jsp:setProperty name="sb" property="*"/>
// 根据反射规则,设置了对象sb的全部属性,自动匹配
<jsp:setProperty name="sb" property="name"/> //只设置了 name的属性
<jsp:setProperty name="sb" property="password"/> //只设置了 password的属性
<jsp:setProperty name="sb" property="name" param="password"/>
// 只设置了 name的属性,属性值为 form(request)中password参数的值
<jsp:setProperty name="sb" property="name" value="我自定义的值"/>
// 只设置了 name的属性,属性值为 "我自定义的值"
<jsp:setProperty name="sb" property="name" value="<%=request.getParameter(\"password\") %>"/>
// 设置自己的属性值,
上面一行,相当于下面的两行:
<% String value =request.getParameter("password"); %>
<jsp:setProperty name="sb" property="name" value="<%=value%>"/>
--%>
收藏
举报
TAG: