`
wangyanlong0107
  • 浏览: 501950 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

【转】创建JavaBean的几种方法

 
阅读更多

创建一个Bean的方法有很多种,并且在完成JavaBean的创建后,可以将Bean的实例保存在标准的JSP上下文范围(page、request、session和application)中。通常情况下,可以使用以下几种方法:

  • 在Action中使用Java代码来创建JavaBean。
  • 在JSP中使用Java脚本来创建JavaBean。
  • 使用标准的<jsp:useBean>标记来创建JavaBean。
  • 使用Struts的<bean:define>标记来创建JavaBean。
  • 使用其他Struts标记来创建JavaBean。

1.在Action中使用Java代码来创建JavaBean

因为JSP页面是要被编译为Servlet的,而Action类是被Struts的控制Servlet所调用的,所以在Action类中可以方便地将所创建的Bean对象的实例保存在标准的JSP上下文范围中。需要注意的是,在Action中创建的Bean只能保存在request、session和application范围中,而不能保存在page范围中。

(1)request范围

定义在request范围内的对象在整个用户请示的范围内有效,所有后续的Action类以及JSP页面都可以访问到该对象,它主要用来保存页面中需要使用到的相关对象。示例代码如下:

Customer customer = new Customer();

request.setAttribute("cust", customer);//属性名cust是JSP页面中访问这个customer的标识。

(2)session范围

保存在session范围内的对象在整个session有效的期间都可以被访问到,它主要用来保存与某个特定的登录用户相关的对象。示例代码如下:

User user = new User();

HttpSession session = request.getSession();

session.setAttribute("user", user);

(3)application范围

通常情况下,application范围内的Bean都是Servlet启动的时候在init()方法中初始化的。但也可以在Action中创建一个JavaBean,然后将其保存在application范围内。示例代码如下:

Foo foo = new Foo();

servlet.getServletContext().setAttribute("foo", foo);

2.在JSP中使用Java脚本创建JavaBean(不提倡)

(1)page范围

将Foo对象的实例foo保存到page范围内,并且命名为foo,代码如下:

<%

Foo foo = new Foo();

pageContext.setAttribute("foo", foo, PageContext.PAGE_SCOPE);

%>

其他三个范围类似,只需将PageContext.PAGE_SCOPE改为PageContext.REQUEST_SCOPE、PageContext.SESSION_SCOPE或PageContext.APPLICATION_SCOPE即可。

再次强调,在基于Struts的web应用中,不要将任何业务逻辑方法置于JSP页面中,而要将业务逻辑处理方法限制在Action类中。

3.使用标准的<jsp:useBean>标记创建JavaBean

<jsp:useBean>可以用来创建一个新的JavaBean,也可以定义一个新的引用指向已经存在的JavaBean。

当需要使用其他的标准JSP标记(如<jsp:getProperty>或<jsp:setProperty>)时,必须先使用<jsp:useBean>标记来创建JavaBean的实例或者引用已经存在的JavaBean的实例。

4.使用Struts的<bean:define>标记来创建JavaBean

<bean:define>可以通过复制其他JavaBean或者JavaBean的属性来在任意的上下文范围内创建新的JavaBean。

(1)定义一个String常量

<bean:define id="foo" value="This is a new String"/>

<bean:define id="bar" value='<%="hello, "+user.getName() %>'/>

(2)复制一个已经存在的JavaBean

创建一个新的JavaBean的引用及创建一个新的JavaBean的方法如下:

<bean:define id="foo" name="bar"/>

<bean:define id="baz" name="bop" type="com.mycompany.MyBopClass"/>

(3)复制一个已经存在的JavaBean的属性

使用一个已经存在的JavaBean来创建一个新的属性的引用,可使用类似下面的方式:

<bean:define id="foo" name="bar" property="baz" scope="request" toScope="session"/>

<bean:define id="bop" name="user" property="role[3].name"/>

注意,如果没有指定toScope属性,那么创建的JavaBean都是被绑定在page上下文范围内的。

5.其他Struts复制标记(请参考相关文档)

分享到:
评论

相关推荐

    json、javaBean、xml互转的几种工具介绍

    这篇博客主要探讨了几种用于这些格式互转的工具,下面将详细介绍这些工具及其使用方法。 1. **Gson** (Google的JSON库) Gson是由Google提供的一个开源库,它可以将Java对象转换为JSON字符串,反之亦然。使用Gson,...

    动态生成javabean

    动态生成JavaBean主要有以下几种方法: 1. **使用代码生成工具**:例如MyBatis的Generator、Eclipse的Code Generator插件等。这些工具可以根据数据库表结构或者XML配置自动创建JavaBean,包括getter/setter方法、...

    数据库实体对象转换JavaBean_数据库对象转Javabean_

    1. **创建Java Bean类**:根据数据库表结构,创建相应的Java Bean类,每个属性对应表中的一个字段,每个属性的getter和setter方法用于访问和修改这些属性的值。 ```java public class UserBean { private String...

    javabean源码

    创建JavaBean时,一般遵循以下步骤: - 定义一个公共类,类名通常以"Bean"结尾。 - 在类中定义私有属性,用于存储数据。 - 为每个属性提供对应的getter和setter方法,用于读取和修改属性值。 - 添加无参构造器...

    xml与javabean的转换

    `fromXml()`方法用于从XML字符串或输入流创建JavaBean实例,而`toXml()`方法则将JavaBean对象转换为XML字符串。这两个方法使得在处理数据时能够灵活地在Java对象和XML文档之间切换。 首先,让我们深入理解`fromXml...

    SqlToJavaBean_javabean_根据表结构生成javabean_生成javabean_

    总的来说,"SqlToJavaBean_javabean_根据表结构生成javabean_生成javabean_"是一个利用Java技术,自动根据数据库表结构创建JavaBean类的工具,旨在简化开发流程,提高开发效率。通过理解JavaBean规范和数据库操作,...

    JavaBean课件.rar

    - **实例分析**:通过具体案例展示如何创建和使用JavaBean,以及如何实现属性绑定和事件处理。 - **源码解析**:提供一些示例JavaBean的源代码,帮助理解getter、setter和事件处理方法的编写。 - **实战指导**:可能...

    JavaBean总结

    JavaBean是Java编程语言中的一种组件模型,它主要用于构建可重用的软件组件。JavaBean遵循一定的规范,使得这些组件可以在各种Java应用程序中方便地使用和集成。在JavaBean规范中,一个JavaBean是一个公共的Java类,...

    利用反射实现JavaBean 的自动赋值

    根据示例代码,目前支持以下几种类型的自动转换和赋值: - `boolean`, `Boolean` - `int`, `Integer` - `long`, `Long` - `java.util.Date` - `String` 对于其他类型,代码会自动忽略。当然,开发者可以根据实际...

    javaBean生成xml

    1. 创建JavaBean:定义一个Java类,包含需要转换为XML的属性,并提供对应的getter和setter方法。例如: ```java public class Person { private String name; private int age; // getters and setters public ...

    JavaBean讲解(上)——代码+笔记

    JavaBean是Java编程中的一种重要概念,主要用于封装数据和业务逻辑,便于组件化开发。JavaBean规范定义了一类特殊的Java类,它具有良好的封装性、可重用性和可序列化特性,广泛应用于Web开发、MVC框架以及企业级应用...

    javabean的自动生成

    JavaBean是一种特殊的Java类,它遵循一定的规范,用于封装数据并提供可重用的业务逻辑。在Java开发中,JavaBean通常作为数据容器,用于在不同的组件之间传递和存储信息。JavaBean的自动生成可以极大地提高开发效率,...

    javaBean协议

    JavaBean协议是Java编程语言中的一种规范,它定义了如何创建可重用的Java组件,这些组件可以在各种软件开发环境中被方便地使用和交互。JavaBean主要遵循以下几点原则: 1. **公共构造器**:JavaBean应提供一个无参...

    java 自动生成javaBean 利器

    在Java开发过程中,JavaBean是一种遵循特定规范的Java类,常用于封装数据并提供相应的getter和setter方法。创建大量的JavaBean类可能会导致大量的重复代码,这不仅耗时,还降低了开发效率。为了解决这个问题,开发者...

    javabean计算器

    JavaBean是一种Java编程语言中的软件组件模式,常用于构建可重用的组件,尤其是在Web应用程序中。在这个"javabean计算器"项目中,开发者使用JavaBean技术创建了一个计算器的功能模块,然后在JSP(JavaServer Pages)...

    JavaBean文件上传

    JavaBean是一种遵循特定规则的Java类,它具有默认构造器、getter和setter方法,以及可序列化的能力,常用于在Java应用程序之间共享数据。在文件上传的场景下,我们可以创建一个JavaBean来封装文件信息,如文件名、...

    javabean示例

    JavaBean是Java编程语言中的一种特定类,它遵循一套特定的规范,用于封装数据和提供可重用的组件。在Java应用开发中,JavaBean扮演着核心角色,尤其是在构建MVC(模型-视图-控制器)架构的Web应用程序时。本示例将...

    jsp编写投票系统(jsp+javabean)

    JSP是一种用于动态创建web页面的服务器端技术,而JavaBeans则是一种可重用的Java组件,常用于封装业务逻辑。 首先,我们需要理解JSP的基本结构和工作原理。JSP页面由HTML、CSS、JavaScript以及嵌入式的Java代码组成...

    JSP与JavaBean应用实例-猜数字游戏

    - 首先,创建JavaBean类,定义游戏所需的数据和方法。 - 然后,设计JSP页面布局,创建输入和输出元素。 - 接着,编写JSP中的脚本元素,连接到JavaBean,处理用户输入和显示反馈。 - 最后,测试应用,确保所有...

    JavaBean和JSP中的标准动作

    在 JSP 中,JavaBean 可以通过以下几种标准动作来使用: 1. **`&lt;jsp:useBean&gt;`**:这个动作用于在 JSP 页面中实例化一个 JavaBean 或查找现有的 JavaBean 实例。如果找不到,则会尝试按照指定的类名创建一个新的...

Global site tag (gtag.js) - Google Analytics