1

I'm trying to set a managed property value from another bean.

faces-config.xml

<managed-bean>
    <managed-bean-name>beanA</managed-bean-name>
    <managed-bean-class>com.project.BeanA</managed-bean-class>
    <managed-bean-scope>view</managed-bean-scope>

    <managed-property>
        <property-name>value</property-name>
        <value>#{sessionBean.currentValue}</value>
    </managed-property>
</managed-bean>

<managed-bean>
    <managed-bean-name>sessionBean</managed-bean-name>
    <managed-bean-class>com.project.SessionBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>

SessionBean.java and BeanA.java

class SessionBean {
    private Object currentValue; // getter+setter
}
class BeanA {
    private Object value; // getter+setter
}

I understand that the value standing in sessionBean.currentValue gets dumped into beanA.value, but when setting any value (from beanA) like beanA.setValue(x), sessionBean.currentValue remains unaltered - is this expected? If so how to enable this bidirectionality?

nuno
  • 1,771
  • 1
  • 19
  • 48

0 Answers0