1

我以前使用<jsp:useBean>的标签可以决定 bean 的范围,page or request or session or application但现在我转移到了 MVC 架构,在那里我使用BeanUtils类来设置 bean 的属性Servlets。请告诉我SCOPE这种方法提供的默认值是什么?如果我想改变范围,我必须做什么?我正在使用语法:

BeanUtils.populate(bean, request.getParameterMap());

4

2 回答 2

0

没有与 javabean 关联的范围。范围仅与 jsp/webapp 相关。从这个意义上说, BeanUtils.populate(..) 不会将 bean 存储在 Web 上下文中的任何位置,因此它没有范围。如果您选择将这样创建的 bean 添加到给定的上下文中,那么只有它才有范围。

于 2011-11-07T14:41:18.460 回答
0

BeanUtils#popuate()不会将 bean 存储在任何地方。它只是填充 bean。更改会反映在bean您所在的实例中。你知道,Java 是面向对象和按值传递的。在调用该行之后,填充 bean。您只需要自己将 bean 存储在所需的范围内。

请求范围:

request.setAttribute("bean", bean);

会议范围:

request.getSession().setAttribute("bean", bean);

适用范围:

getServletContext().setAttribute("bean", bean);

无论哪种方式,它都可以在 JSP 中通过${bean}. 没有页面范围,但无论如何这都不相关。

也可以看看:

于 2011-11-07T14:43:40.490 回答