问题标签 [managed-property]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
323 浏览

jsf - 跨多个 bean 的 JSF 托管属性

我有一个名为的 bean LoadSelectItemsBean,它@ApplicationScoped保存着各种选择项目列表,我希望在系统的所有用户之间共享这些列表。

我希望这个LoadSelectItemsBean豆子能成为@ManagedProperty另外两个豆子中的一个。当我将选择项 bean 作为托管属性添加到另一个 bean 中时,它工作正常(如以下代码片段所示):

但是,当我尝试将选择项 bean 作为托管属性添加到另一个 bean 中时,我开始遇到问题。我在我的中使用相同的代码AllianceViewBean

但是当尝试加载应用程序时,我收到异常

我的问题是,您可以将一个 bean 声明为多个其他 bean 中的托管属性吗?

谢谢。

编辑:我的错误已经解决,但我仍然无法确定它最初可能发生的原因

0 投票
2 回答
473 浏览

java - 许多@RequestScoped 子类从@SessionScoped bean 访问变量而无需复制粘贴@ManagedProperty?

我阅读了 BalusC 关于 JSF 通信的优秀教程,它帮助我建立了我的应用程序的基础知识。我想与它的所有子类共享在 SessionScoped BaseBean 类中设置的当前登录的用户对象。这可以在不@ManagedProperty为每个需要引用登录用户的单个支持 bean 注入 BaseBean 的情况下完成吗?

我的课程如下。如果需要更多信息,请告诉我,我很乐意更新我的问题。

BaseBean 类

所有其他 bean 都是该 bean 的子类。我这样做是为了允许 bean 之间的代码重用。

LoginBean 类

登录页面的支持 bean。为了减少数据库调用的数量,我使用上述教程中的@ManagedProperty 方法在@SessionScoped BaseBean 中设置用户对象。现在登录和设置loggedInUser按预期工作。

创建报表类

这是许多人中一种支持 bean 的示例。我想引用当前登录的用户来创建报告,但是如果下面的代码运行,用户将是null!我可以让它工作的唯一方法是@ManagedProperty为 BaseBean 添加一个带有 getter 和 setter 的条目,就像在 LoginBean 类中一样。我真的很想避免这种情况,因为我会将这段代码复制粘贴到我拥有的几乎每一个支持 bean 上!

二手软件

  • 玻璃鱼 4
  • 莫哈拉 2.2

编辑

我发现的一种解决方案是直接从 FacesContext 获取 BaseBean 的实例(我猜想其他 bean 不在同一个上下文中或“看不到它?”)。下面的代码(来自 BaseBean)会做我想做的事,但是任何 bean 子类都必须调用base(),这看起来很尴尬和错误。

0 投票
1 回答
108 浏览

jsf - 以@ManagedProperty 注入时避免托管bean 的自动实例化

我有一个 requestscoped bean,它可以从三个不同的 viewscoped bean(来自 3 个不同的页面)接收其数据。bean 是 JSF 托管 Bean。

当我在针对 3 个不同视图范围 bean 的请求中使用 ManagedProperty 时,它会实例化我不想要的视图范围 bean。我想简单地知道从哪个 bean 调用它,然后为每个 bean 调用一个特定的方法(不同的)。

如何检查哪个 bean 被实例化并在范围内,以便调用正确的 bean 方法?

0 投票
1 回答
130 浏览

jsf - 如何将托管 Sesson Bean 注入实体?JSF-PrimeFaces

我想将托管会话 Bean 注入 JSF 中的实体中。

我有一个要求,我需要根据用户在前端选择的区域设置显示不同的状态文本。(国际化)对于一个状态 ID,我有 4 个状态文本,即 StatusText、StatusTextLang1、StatusTextLang2、StatusTextLang3。

为了支持此功能,我正在更改 StatusText 属性的 getter 方法。在这里,我想从 SessionBean 中获取语言环境。因为它是一个实体,所以我得到一个空 sessionBean。

0 投票
1 回答
10494 浏览

jsf - @ManagedProperty 抛出 javax.el.E​​LException:无法将 java.lang.String 类型的 bean 转换为 com.example.Bean 类

我将一个托管 bean 作为另一个托管 bean 的托管属性注入。

但是,它会引发以下 EL 异常:

这是如何引起的,我该如何解决?

0 投票
0 回答
424 浏览

jsf-2 - JSF 应用程序范围 bean 不能作为 ADF 请求范围 bean 的托管属性注入

编辑:这是一个使用 JSF 2.0 的 ADF 应用程序。

我有一个应用程序范围的托管 bean,我在请求范围 bean 的托管属性中引用它。尝试在请求范围 bean 的 PostConstruct 方法中访问应用范围 bean 时,我收到 NullPointerException。我不确定我是否不了解有关应用程序范围的 bean 何时可用于请求范围的 bean 的一些基础知识,或者我是否只是在我的实现中有错误。

应用范围的 bean:

编辑:这在 adfc-config.xml 文件中配置为请求范围的托管 bean。这似乎是问题所在,因为我已指定 bean 由 ADF 管理,但使用了 JSF ManagedProperty 注释。

请求范围的 bean:

应用程序范围的 bean 在应用程序部署期间被初始化,但在调用 getSecurityApplication().test() 时会抛出 NPE。

史蒂夫

0 投票
1 回答
551 浏览

jsf - @ManagedProperty 和 FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("bean") 之间的区别

有什么区别:

如果没有区别,哪种方法更好?干杯。

0 投票
0 回答
428 浏览

jsf - 使用 @ManagedProperty 注入的托管 bean 实例仍然为空

我有两类托管 bean 并用于@ManagedProperty尝试访问第二类,但我NullPointerException每次都得到。这里有什么问题?

这是我的第二节课。

我试图让第一堂课调用第二堂课更新,@ManagedProperty但我得到的只是NullPointerException,当我尝试从第一堂课访问更新时。我确实有用于@ManagedProperty.

这是指向 EventCreateEditModel 类中的更新方法的堆栈跟踪(尝试粘贴整个堆栈,但该系统不会对其进行格式化,因此这里是关键部分)

2015 年 12 月 24 日 2:02:57 PM .invoke0(本机方法)`

0 投票
1 回答
196 浏览

jsf - 如何在 ActionListener 中注入托管属性

我想在 ActionListener 方法中处理来自其他 bean 的数据,但它抛出了NullPointerException,所以我尝试使用注释将 bean 的实例重新安全到 init() 方法中的下一个实例@PostConstruct,但它仍然抛出NullPointerException。我知道可以通过 bean 获得FacesContext.getCurrentInstance().getApplication().evaluateExpressionGet(context, expression, expectedType);但有可能通过@ManagedProperty吗?这是代码:

登录.java

Osoba.java

登录.xhtml

0 投票
0 回答
188 浏览

nullpointerexception - 注入的托管属性为空

我有一个 JSF 托管 bean 来创建依赖于应用程序的用户实例(UserFactory 接口实现者)。我想在 EJB 容器中使用这个工厂。应用程序引发 NullPointerException,因为 UserWithRolesDAL.userFactory 的值为 null。但为什么?