【问题标题】:EL resolving bean nameEL解析bean名称
【发布时间】:2012-11-03 01:57:24
【问题描述】:

拥有一个@Named Bean:HelloBean

在一个 JSF 页面中,为什么这个引用是正确的:

#{helloBean.var1}

这似乎不是:(IDE 警告:“无法解析变量名称”)

#{HelloBean.var1}

【问题讨论】:

  • 如何命名实例变量?你不做HelloBean HelloBean = new HelloBean(),但你也做HelloBean helloBean = new HelloBean(),对吧?这只是标准的 Java 命名约定。
  • 好的,那么我们在 JSF 中指的是一个对象,而不是类本身。 EL 确保我们使用 @perissf 编写的规则引用该特定类

标签: jsf jsf-2 el cdi


【解决方案1】:

来自 Oracle 的Java EE 6 Tutorial

@Named 限定符允许您使用 bean 名称访问 bean,第一个字母小写。

同样的规则也适用于ManagedBean注解:

如果 name 属性的值未指定或为空字符串,则 managed-bean-name 派生自全限定类名的非限定类名部分并将第一个字符转换为小写

【讨论】:

  • 抱歉,这是 ManagedBean 注解的文档,不是 Named 的文档。让我更正答案。
猜你喜欢
  • 2020-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-27
  • 1970-01-01
  • 2017-06-01
  • 1970-01-01
  • 2012-02-10
相关资源
最近更新 更多