开发者社区> ghost丶桃子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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:useBean>标签:用于在JSP页面中查找实例化一个javaBean组件。
        <jsp:setProperty>标签:用于在JSP页面中设置一个javaBean组件的属性。
        <jsp:getProperty>标签:用于在JSP页面中获取一个javaBean组件的属性。

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

2.1 <jsp:useBean>标签

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

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <span style="font-family:Microsoft YaHei;"><jsp:useBean id="beanName" class="package.class" scope="page|request|session|application"/></span>  
        id属性用于指定javaBean实例对象的引用名称和其存储在域范围中的名称。class属性用于指定javaBean的完整类名(即必须带有包名)。scope属性用于指定javaBean实例对象所存储的域范围,其取值只能是page\request\session和application等四个值中的一个,默认为page。

2.2 <jsp:setProperty>

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

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <jsp:setProperty name="beanName"  
  2.              property="propertyName" value="{String|<%=expression%>}" |  
  3.              property="propertyName" [param="parameterName"] |  
  4.              property="*"  
  5. />  
        name属性用于指定javaBean对象的名称。property属性用于指定javaBean实例对象的属性名。value属性用于指定javaBean对象的某个属性值,value的值可以是字符串,也可以是表达式:为字符串时,该值会自动转化为javaBean属性相应的类型,setProperty可以自动把字符串转换成八种基本数据类型,但对于复杂的类型无法转换,如Date;为表达式,那么该表达式的计算结果必须与所要设置的javaBean属性的类型一致。
        param属性用于将javaBean实例对象的某个属性值设置为一个请求参数(在地址中指定),该属性值同样会自动转换成要设置的javaBean属性的类型。*用于获取所有请求参数来设置属性值。

3. <jsp:getProperty>

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

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <span style="font-family:Microsoft YaHei;"><jsp:getProperty name="beanInstanceName" property="propertyName"/></span>  
        name属性用于指定javaBean实例对象的名称,其值应与<jsp:useBean标签的id属性值相同。property属性用于指定javaBean实例对象的属性名。如果javaBean实例对象的某个属性值为null,那么获得的属性值结果将是一个内容为"null"的字符串

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

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <%@page import="javaBean.Person"%>  
  2. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  3.   
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  5. <html>  
  6.   <head>      
  7.     <title>jsp标签的使用</title>  
  8.   </head>  
  9.   <body>         
  10.     <!--class属性必须指定bean的完整类名   
  11.     标签内容只在实例化bean时执行,即在域中找到了bean时(不用实例化)不会执行  -->  
  12.     <%  
  13.         //pageContext.setAttribute("person", new Person());  
  14.      %>    
  15.      <jsp:useBean id="person" class="javaBean.Person" scope="page">  
  16.         标签内容  
  17.      </jsp:useBean>              
  18.        
  19.      <jsp:setProperty property="name" value="eson_15" name="person"/>  
  20.        
  21.      <!-- jsp:setProperty标签在工作时,它会自动把字符串转换成八种基本数据类型,如int类型  
  22.               但是对于复杂类型无法自动进行转换,如Date类型  -->   
  23.      <jsp:setProperty property="age" value="12" name="person"/>  
  24.      <!-- 这样也可以:<jsp:setProperty property="age" value="<%=12%>" name="person"/>  -->  
  25.         
  26.      <jsp:setProperty property="birthday" value="<%= new Date() %>" name="person"/>  
  27.      <!-- value如果用"1990-9-19"则不行,jsp:setProperty无法自动对时间进行转换 -->      
  28.        
  29.      <jsp:setProperty property="name" param="name" name="person"/>  
  30.      <!-- 获取请求页面的请求参数name:http://localhost:8080/day09/1.jsp?name=<span style="font-family:Microsoft YaHei;">eson_15</span>-->  
  31.        
  32.      <jsp:setProperty property="*" name="person"/>  
  33.      <!-- 用所有的请求参数为bean的属性赋值   
  34.           http://localhost:8080/day09/1.jsp?name=eson_15&password=123&age=12  -->  
  35.           
  36.      <%  
  37.         System.out.println(person.getName());  
  38.         System.out.println(person.getAge());  
  39.         System.out.println(person.getPassword());  
  40.       %>  
  41.         
  42.       <jsp:getProperty property="name" name="person"/>       
  43.   </body>  
  44. </html>  

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

        相关阅读:http://blog.csdn.net/column/details/servletandjsp.html

_____________________________________________________________________________________________________________________________________________________

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

-----更多文章请看:http://blog.csdn.net/eson_15


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JSP JavaBean作用范围
JavaBean的生命周期存在于4种范围之中,分别为page、request、session、application,它们通过标签的scope属性进行设置。这4种范围虽然存在很大的区别,但它们与JSP页面中的page、request、session、application范围相对应。
852 0
由内省引出JavaBean的讲解
IntroSpector--内部检查,了解更多细节--内省---JavaBean 一、JavaBean JavaBean是一种特殊的Java类,主要用于传递数据信息,这种java类中的方法主要用户访问私有的字段,且方法名符合某种命名规则。
768 0
JSP+JavaBean简单计算器
package bean; public class CalculatorBean { private double firstNum; private double secondNum; private char operator='+'; private double result; public double getFirstNum() { return firs
1231 0
JSP开发中的JavaBean的应用以及部署
JavaBean 说白了 就是一个java类,跟VC中的控件类似是JSP开发中组件。 JavaBean分为可视化javabean    和非可视化javabean      ,在JSP中 多用到的是 非可视化javabean   。
890 0
jsp JavaBean配置
JavaBean配置1 编写Bean可以放到自己的包中。如:SelfBean/SelfBean.java完全目录为:虚拟目录/WEB-INF/classes/SelfBean/SelfBean.java2 编译目录情况为:虚拟目录/WEB-INF/classes/SelfBean/SelfBean.
648 0
JSP与JavaBeans
  JavaBeans简介   JavaBeans是一种符合一定标准的普通java类,需要满足下面几点:   1 类是public   2 属性私有   3 空的public构造方法   4 通过getter setter操作属性   JSP有很多的标签,比较常用的就是与javaBean相关的标.
999 0
1955
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载