java - JSF:如何初始化使用 @managementProperty 传递给我的 ManagedBean 的 bean?

标签 java jsf

在我的managedBean中,fileUpload:现在使用@ManagedProperty调用其他bean,如代码所示后来在我的类里面,我有类似 rtParser.getQuote() 的东西,但它抛出了 NullPointerException ,我的问题是:

How can I initialize rtParser in this class?

@ManagedProperty(value = "#{rtParser}")
private PositionParserRT rtParser;

public PositionParserRT getRtParser()
{
    return rtParser;
}

public void setrtParser(PositionParserRT rtParser)
{
    this.rtParser = rtParser;
}

已更新

我遇到了类似的问题 here并非常感谢任何建议。

最佳答案

您使用@ManagedProperty的方式期望PositionParserRT也是一个@ManagedBean。因此,将该注释放在类上。

@ManagedBean
@SomeScoped // TODO: Choose the suitable scope.
public class PositionParserRT {
    // ...
}

但是,如果该类一开始就不是 JSF 托管 bean(即它与 JSF View /模型无关),那么您可能正在以错误的方向寻找解决方案。如果它是业务服务,请将其设为 @Stateless EJB 并通过 @EJB 注入(inject)。

@Stateless
public class PositionParserRT {
    // ...
}

@EJB
private PositionParserRT rtParser;

关于java - JSF:如何初始化使用 @managementProperty 传递给我的 ManagedBean 的 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10285289/

相关文章:

java - 如何使用最新的 STS 版本(3.8.4.RELEASE)正确创建在控制台中运行的简单 Spring 项目?

java - Appengine 中的 JSF 2 - EL 表达式

jsf - p :selectOneMenu doesn't render custom content via p:column on List<String>

java - 字符串在数据库中作为整数发布

java - 为什么 Java 选择这个重载而不是其他重载

java - 安卓 native : cannot allocate large memory under native layer

java - 如何从跨平台Java访问USB?

java - MyFacesServlet 包装器中的 FacesMessages

jsf - 如何从复合组件外部设置复合组件的值

javascript - 如何通过 ajax 刷新由 JSF 填充的 javascript 变量?