我有一个会话范围的bean,用于UI编辑一些数据。它用@Named和@SessionScoped进行注释,所有运行都在JBoss6.2中。现在我需要一个几乎相似的编辑UI。问题是这两个UI可以并行存在。因此,为了实现完美的重用,最好使用另一个名称创建bean的新实例。不幸的是,我不知道如何以一种干净的CDI方式来实现这一点。我不太喜欢从bean继承并给它起另一个名字。这是我的想法之一。另一个想法是只在托管bean中实现业务逻辑,并将数据封装在其中,并在特定上下文中需要时在托管bean中设置数据对象。但也许还有另一种CDI方式与制片人或其他什么?在我的例子中,将bean的作用域更改为ViewScope毫无意义。
谢谢你,奥利弗
但也许还有另一种CDI方式与制片人或其他什么
事实上,你可以找个制作人。
启动示例:
@SessionScoped
public class SessionBean {
@Produces
@Named("foo")
@SessionScoped
public SessionBean getAsFoo() {
return new SessionBean();
}
@Produces
@Named("bar")
@SessionScoped
public SessionBean getAsBar() {
return new SessionBean();
}
// ...
}
(方法名称可自由选择)
使用方法:
@Inject
@Named("foo")
private SessionBean foo;
@Inject
@Named("bar")
private SessionBean bar;
有没有办法销毁特定类的所有创建的会话范围bean(并在需要时让spring重新创建)? 例如,两个用户访问应用程序,然后每个用户将有一个bean。我想毁掉这两颗豆子。 用例: 管理员正在更新菜单栏。菜单栏列表数据存储在会话范围的bean中。管理员的bean应该被销毁,菜单栏应该被更新。当然,其他人的菜单也应该更新,所以其他bean也应该被销毁。 注1:不同的用户可能会看到不同的菜单,因此bean是
我有一个springbean和scope会话。这个bean持有对另一个不可序列化的单例bean的引用。如果我想序列化会话范围的bean,最好的方法是什么? 这里已经提出了同样的问题:Spring会话范围的bean(控制器)和对服务的引用,在序列化方面 公认的答案是: 这个问题在Spring 3.0中通过提供一个非序列化bean的代理来解决,该代理从当前应用程序上下文中获取实例 据我所知,链接视频中
MyCart.java 这个MyCart Bean是每个HTTP会话实例化的名为CDI的Bean。 抽象类 问题描述 仅用于理解会话范围的CDI。我有两个JSP文件,如下所示 SetCDIBeanValue.jsp其中,我将获得命名会话CDI Bean(MyCart)的实例将It String属性的值设置为String值FROM_FIRST_JSP 因为这个会话的作用域是有限的,所以我想应该只有一
如果我在一个会话中有值,并且我需要获取会话中的所有值,如 如果我将一组复选框值转换为字符串。Im 将.jsp中选择的所有值设置为会话对象。我只需要检索保存在上述代码中的jsp中的选定值。
本文向大家介绍Java获取具有其(完全限定的)名称的类,包括了Java获取具有其(完全限定的)名称的类的使用技巧和注意事项,需要的朋友参考一下 示例 给定一个String包含类名的Class对象,可以使用Class.forName以下对象访问它的对象: Java SE 1.2 可以指定是否初始化类(的第二个参数forName)以及ClassLoader应该使用哪个类(第三个参数):
我有一个会话作用域bean,它使用代理注入到单例bean中。 从单例bean中,我需要调用会话作用域bean的某个初始化方法,它需要单例bean作为参数。此外,我不能改变会话范围bean的来源。 为了详细说明这个情况: 单例bean是一个服务,会话范围bean是一个Vaadin4Spring事件总线,为此我需要调用方法。 似乎没有办法检查,如果我已经订阅,并且我不能在某个实例上两次调用订阅。 有没