JavaBean与Jsp

        这一节我们总结一下JavaBean和Jsp的关系。

1. JavaBean

        javaBean是一个遵循特定写法的java类,它通常具有如下特点:
        1)这个java类必须具有一个无参构造函数;
        2)属性必须私有化;
        3)私有化的属性必须通过public类型的方法暴露给其他程序,并且方法的命名也必须遵守一定的命名规范。
        javaBean在J2EE开发中,通常用于封装数据,对于遵循以上写法的javaBean组件,其它程序可以通过反射技术实例化javaBean对象,并且通过反射那些遵守命名规则的方法,从而获知javaBean的属性,进而调用其属性保存数据。

2. 在Jsp中使用JavaBean的代码

        JSP技术提供了三个关于javaBean组件的动作元素,即JSP标签:
        标签:用于在JSP页面中查找实例化一个javaBean组件。
        标签:用于在JSP页面中设置一个javaBean组件的属性。
        标签:用于在JSP页面中获取一个javaBean组件的属性。

        下面我么来总结一下这三个标签的使用:

2.1 标签

        标签用于在指定的域范围内查找指定名称的javaBean对象。如果存在则直接返回该javaBean对象的引用,如果不存在则实例化一个新的javaBean对象并将它以指定的名称存到指定的域范围中。
       常用语法:   

        id属性用于指定javaBean实例对象的引用名称和其存储在域范围中的名称。class属性用于指定javaBean的完整类名(即必须带有包名)。scope属性用于指定javaBean实例对象所存储的域范围,其取值只能是page\request\session和application等四个值中的一个,默认为page。

2.2

        标签用于设置和访问javaBean对象的属性。
        常用语法:

        name属性用于指定javaBean对象的名称。property属性用于指定javaBean实例对象的属性名。value属性用于指定javaBean对象的某个属性值,value的值可以是字符串,也可以是表达式:为字符串时,该值会自动转化为javaBean属性相应的类型,setProperty可以自动把字符串转换成八种基本数据类型,但对于复杂的类型无法转换,如Date;为表达式,那么该表达式的计算结果必须与所要设置的javaBean属性的类型一致。
        param属性用于将javaBean实例对象的某个属性值设置为一个请求参数(在地址中指定),该属性值同样会自动转换成要设置的javaBean属性的类型。*用于获取所有请求参数来设置属性值。

3.

        标签用于读取javaBean对象的属性,也就调用javaBean对象的getter方法,然后将读取的属性值转换成字符串后插入进输出的响应正文中。
常用语法:

        name属性用于指定javaBean实例对象的名称,其值应与

       下面看一个简单的例子来直观的认识一下这三个标签的使用:

<%@page import="javaBean.Person"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>



      
    jsp标签的使用
  
      	 
  	
  	<%
  		//pageContext.setAttribute("person", new Person());
  	 %> 	
     
     	标签内容
                 
     
     
     
      
     
     
      
     
         
     
     
     
     
     
     
        
     <%
     	System.out.println(person.getName());
     	System.out.println(person.getAge());
     	System.out.println(person.getPassword());
      %>
      
           
  

        Jsp与javaBean比较简单,就介绍这么多吧~如有错误之处,欢迎留言指正~

_____________________________________________________________________________________________________________________________________________________

-----乐于分享,共同进步!

-----我的博客主页:http://blog.csdn.net/eson_15

你可能感兴趣的:(●,Web基础,Java进阶)