【发布时间】:2013-01-14 20:41:56
【问题描述】:
我有 2 个 bean,一个请求范围和 1 个会话范围。我正在尝试通过创建托管属性来访问请求 bean 中的会话范围 bean,但我一直收到错误消息:
com.sun.faces.mgbean.ManagedBeanCreationException: Unable to create managed bean tableBacking. The following problems were found:
- Property resultsBacking for managed bean tableBacking does not exist.
这是我的请求范围 bean:
public class TableLookupBacking {
private ResultsBacking resultsBacking;
public void setResultsBacking(ResultsBacking resultsBacking) {
this.resultsBacking = resultsBacking;
}
}
这是我的会话范围 bean:
public class ResultsBacking {
// mainly strings and ints stored in here with getters/setters
}
这是我的 faces-config.xml
<managed-bean>
<managed-bean-name>tableBacking</managed-bean-name>
<managed-bean-class>backing.TableLookupBacking</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>resultsBacking</property-name>
<value>#{resultsBacking}</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>resultsBacking</managed-bean-name>
<managed-bean-class>backing.ResultsBacking</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
【问题讨论】:
-
也许您需要一个用于 TableLookupBacking 类中的 resultsBacking 的 getter?
-
我使用的是 jsf 1.2。问题带有此标记。
-
听起来很奇怪.. 我想你已经部署和清理了你的服务器一千次.. 你可以尝试更改属性名称,JSF 1.2 无法识别属性并且重命名后它们可以工作。但是,您也应该尝试为此使用吸气剂。
-
@XtremeBiker 我将类从 TableLookupBacking 重命名为 TableBacking 并清理了我的项目和服务器,它现在可以工作了。您可以发表您的评论作为答案,以便我给予您信任吗?
-
好。很高兴知道这一点!