MyFaces Core
  1. MyFaces Core
  2. MYFACES-1492

valueChangeListener is being called before the setters, even with immediate="true"

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Invalid
    • Affects Version/s: 1.1.4
    • Fix Version/s: 1.1.4
    • Component/s: General
    • Labels:
      None

      Description

      valueChangeListener is being called before the setters, even with immediate="true".
      This is not the right behavior since it overwrites any property modified in the event handler.

      <t:panelGrid columns="2" cellpadding="0" cellspacing="5px" columnClasses="left top, left top">
      <t:outputLabel for="infoId" value="Options"/>
      <t:selectOneMenu id="infoId" value="#

      {productBean.infoId}

      " onchange="submit()" valueChangeListener="#

      {productBean.valueChangedHandler}

      " immediate="true">
      <f:selectItem itemValue="-1" itemLabel="<new short info>"/>
      <f:selectItems value="#

      {productBean.shortInfoSelectItems}

      "/>
      </t:selectOneMenu>

      <t:outputLabel for="descText" value="Description"/>
      <t:inputTextarea id="descText" rows="8" value="#

      {productBean.description}

      "/>

      <t:outputLabel for="utilText" value="Usage"/>
      <t:inputTextarea id="utilText" styleClass="wXXXL" rows="8" value="#

      {productBean.usage}

      "/>
      </t:panelGrid>

      public class ProductBean {

      private Long infoId;
      private String description;
      private String usage;

      // .... setters and getters for the above properties

      public void valueChangedHandler(ValueChangeEvent event) {
      Long infoId = (Long) event.getNewValue();
      if ((infoId != null) && (infoId > 0))

      { //DataService and ProductInfo are related to Hibernate ProductInfo info = DataService.getProductInfo(infoId); this.description = info.getDescription(); this.usage = info.getUsage(); }

      }
      }

      Description and Usage properties can never be changed since they get overwritten with the initial values.
      ((((((((((((((((((((((((

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Cagatay Civici
            Reporter:
            Mircea Zahan
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development