java创建两个foo方法_创建JavaBean的几种方法

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

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

在JSP中使用Java脚本来创建JavaBean。

使用标准的标记来创建JavaBean。

使用Struts的标记来创建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.使用标准的标记创建JavaBean

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

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

4.使用Struts的标记来创建JavaBean

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

(1)定义一个String常量

value="This is a new String"/>

value='

%>'/>

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

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

name="bar"/>

name="bop"

type="com.mycompany.MyBopClass"/>

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

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

name="bar" property="baz" scope="request"

toScope="session"/>

name="user" property="role[3].name"/>

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值