【问题标题】:JSF Managed Bean instance to get in EL expression while using annotation使用注释时获取 EL 表达式的 JSF 托管 Bean 实例
【发布时间】:2014-04-20 03:58:32
【问题描述】:

我有一个问题。这些天我一直在使用 JSF2.0,我发现使用注解而不是 faces-config.xml 来配置托管 bean 更有用。但是我在 *.xhtml 页面中获取托管 bean 实例时遇到了问题。

当我使用 faces-config.xml 来声明我的托管 bean 时,我会这样做:

<managed-bean>
    <managed-bean-name>exampleBean</managed-bean-name>
    <managed-bean-class>com.example.ExampleBean</managed-bean-class>
    <managed-bean-scope>view</managed-bean-scope>
</managed-bean>

但是有了注解,我们可以这样做:@ManagedBean(name = "exampleBean")。 但是,在使用注释访问 EL 表达式中的托管 bean 及其属性时,我无法获取托管 bean 的实例。我一直在 Eclipse 中尝试#{}ctrl+space,但没有提出建议。

但是在使用faces-config.xml 声明托管bean 时更容易获取实例。我如何也可以使用注释来做到这一点?

请推荐!! 提前谢谢.. :)

【问题讨论】:

  • “Eclipse 没有提供建议”是什么意思?您知道 Eclipse 的自动完成工具并没有涵盖 JSF(或其他框架)的每一个方面吗? Eclipse 没有告诉你这并不意味着它不会工作......
  • 我知道它仍然有效。但是,如果我们在faces-config.xml 中定义托管 Bean 实例,则 eclipse 会为 bean 实例提供建议。但它不会出现在注释的情况下。
  • 尽管如此,您是否尝试过手动编写 EL 表达式?如果托管 bean 被很好地注释和接受,则不应在它下划线。
  • 您似乎在指责 Eclipse 的注释不起作用。然而,那是另一回事。注释不起作用通常与在使用它们时没有提供至少一个空的 faces-config 文件有关。在这种情况下,JSF 框架不会对它们执行扫描。如果您的问题与日食有关,请在标题中提及并在问题中添加适当的标签

标签: eclipse jsf-2 eclipse-plugin managed-bean faces-config


【解决方案1】:

只需关闭并重新打开项目,一切都会正常工作:)。 您的问题是您创建了一个新项目,之后您必须将 jsf 添加到项目方面。 在这种情况下,您会遇到此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-22
    • 2017-07-18
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 2016-10-24
    相关资源
    最近更新 更多