JSF1.2托管bean继承不起作用

JSF1.2托管bean继承不起作用,jsf,inheritance,Jsf,Inheritance,我们正在为所有的mangagedbeans植入一个基本的bean。basebean中定义了一些公共属性。 但是我们无法检索基本bean中设置的值。可能是什么问题 我是这样定义的 BaseBean { String msg; // getter and setter } 在jsp中: <h:outputText value="#{testManagedBean.msg}"/> 它应该可以正常工作。显然,您是在错误的实例中访问它,或者您希望这些更改会从另一

我们正在为所有的mangagedbeans植入一个基本的bean。basebean中定义了一些公共属性。 但是我们无法检索基本bean中设置的值。可能是什么问题

我是这样定义的

BaseBean { 
    String msg; 
    // getter and setter
}

在jsp中:

<h:outputText value="#{testManagedBean.msg}"/>   

它应该可以正常工作。显然,您是在错误的实例中访问它,或者您希望这些更改会从另一个实例中神奇地反映出来

使基本bean成为
抽象类
,并确保不将其注册为
,而只注册为实现类本身(如果仍然注册,那么JSF在尝试实例化
抽象类
时会出错)。您还应该在视图端仅引用EL实现的类。也就是说,不要使用
{baseBean.value}
,而只使用
{concreteBean.value}
,否则该值将在基本bean实例中而不是在具体bean实例中设置。当您使用
{concreteBean.submit}
作为操作方法时,该值仍然是
null


更新:根据您的更新,尽管代码没有编译,但看起来不错。这个问题是由其他原因引起的。可能bean是请求范围的,而您在导航案例中有一个
,导致bean被丢弃并在新请求中重新创建

<h:outputText value="#{testManagedBean.msg}"/>