javabean的使用

1  使用<%@ page imort="com.dd"%>使用导入指令

      实际上WEB/INF/classes是一个classpath的路径,所有class文件,只要放到此目录下都可以被访问到与其他类的调用方式是一样的

Code
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="cn.aaa.*"%>
<%
    
// 实例化对象
    SimpleBean sb = new SimpleBean() ;
    sb.setName(
"你好") ;
    sb.setPassword(
"zzzzzz") ; 
%>
<h1>姓名:<%=sb.getName()%></h1>
<h1>密码:<%=sb.getPassword()%></h1>
2   使用jsp的标签指令:

<

   jsp:useBean id="myfirstBean" scope="page" class="cn.aaa.TestBean"

/>

Code
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="sb" scope="page" class="cn.SimpleBean"/>
<%
    sb.setName(
"你好") ;
    sb.setPassword(
"zzzzzz") ; 
%>
<h1>姓名:<%=sb.getName()%></h1>
<h1>密码:<%=sb.getPassword()%></h1>
如果使用此标签,则javabesn中必须有一个无参构造方法,其使用这个构造方法

Tomcat服务器默认下是不能读取修改后的javaBean,如要读取有以下两种方法:

  1 重新启动服务器

  2 配置参数:

reloadable="true" <Context path="/test" docBase="F:\testWeb" reloadable="true"/>

有了这个参数后服务器时刻监控这个类,因此在运行时必须去掉,开发时大家为了方便而使用

 

使用javabean的好处:

Code
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="sb" scope="page" class="
cn.SimpleBean"/>
<jsp:setProperty name="sb" property="*"/>
<%--
    
// 如果有20个数据需要设置,则使用JavaBean的设置属性方式,可以自动完成
    
// 代替以下代码
    sb.setName(request.getParameter("name")) ;
    sb.setPassword(request.getParameter(
"password")) ; 
--%>
<h1>姓名:<%=sb.getName()%></h1>
<h1>密码:<%=sb.getPassword()%></h1>
<jsp:setProperty name="sb" property="*"/>

用*自动匹配 ,是参数的名字name喝bean中的属性名是一致的

自动调用set方法 

原理:使用了java的反射机制,根据参数的传递名称找到了相应的方法,比如参数名称为name

,则自动找到setName方法.

原则:使用javabean自动设置内容时,一定要让参数名称与bean中的属性名称一致,有这样通过java的命名规范,可以达到统一:

当需要制定某个属性设置内容时,可以在property中指定参数:

                    如:<jsp:setProperty name="sb" property="password"/>

还可以自己任意指定参数 :

      如:<jsp:setProperty name="sb" property="password" param="name"/>

      可见可以根据自己的需要任意选择传递的参数

自己设置值:

      <jsp:setProperty name="sb" property="password" value="ssss"/>


如果输入的值是变量则用表达式输出

<jsp:getProperty name="cb" property="coun"/>

取得属性的方法:

使用javabean的setProperty方法,可以自动将传递过来的只有数字的字符串,变为整型,之后将内容赋给具体的属性

    1  page范围

      属性只在当前页面有效,如果跳转到其他页面,则需要重新实例化,使用于操作资源时

    2  request范围:

      属性只保存在一次服务器跳转中:使用于<jsp:forward>跳转才行

    3 session 范围:

      属性保存在一次会话中,可以使用任意方式连接其他页面,从对象只实例化一次

        如:购物车

    4 application范围:

      属性公有,服务器上只会实例化一次。慎用

page和session用的较多:

javabean的开发要求:

  1 必须放到一个包中

  2 public class

  3 属性封装

  4 通过setter和getter方法设置和取得属性

  5 通过jsp调用,则需要一个无参构造方法

  6

  jsp调用javabean标签

    <jsp:useBean id="对象" scope="作用范围" class="cn.SimpleBean"/>    

  jsp设置属性:

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

  jsp取得属性:

  <jsp:getProperty name="id" property="具体属性"/>


posted @ 2009-03-31 16:21  xiaomiao  阅读(877)  评论(0编辑  收藏  举报