Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-2161

MyFaces-API issue: getValue of UIInput

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2.6
    • 1.2.7
    • JSR-252
    • None

    Description

      Issue was seen and fixed in Myfaces 1.1.6 already- but seems to still exist in 1.2.6

      UIOutput currently has the following code:

      public Object getValue()

      { if (_value != null) return _value; ValueBinding vb = getValueBinding("value"); return vb != null ? (Object)vb.getValue(getFacesContext()) : null; }

      UIInput has the following code:

      public void setValue(Object value)

      { setLocalValueSet(true); super.setValue(value); }

      My problem (pseudo code):

      1) user enters an empty string in an input-component: ""
      2) conversion and validation phase: "" --> setValue(null);
      isLocalValueSet = true; setSubmittedValue(null);
      3) validation fails in some component on the page --> update model
      phase is skipped
      4) renderer calls getValue(); --> getValue() evaluates the
      value-binding, as the local-value is 'null', and I get the
      default-value of the bean shown again

      proposed solution:

      UIInput overwrites getValue of UIOutput:

      public Object getValue()

      { if (isLocalValueSet()) return _value; ValueBinding vb = getValueBinding("value"); return vb != null ? (Object)vb.getValue(getFacesContext()) : null; }

      Attachments

        Issue Links

          Activity

            People

              lu4242 Leonardo Uribe
              kaeri.johnson Kaeri Johnson
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: