myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Marinschek (JIRA)" <...@myfaces.apache.org>
Subject [jira] Resolved: (MYFACES-1549) MyFaces-API issue: getValue of UIInput
Date Thu, 01 Mar 2007 10:05:50 GMT

     [ https://issues.apache.org/jira/browse/MYFACES-1549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Martin Marinschek resolved MYFACES-1549.
----------------------------------------

    Resolution: Fixed

> MyFaces-API issue: getValue of UIInput
> --------------------------------------
>
>                 Key: MYFACES-1549
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1549
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-127
>    Affects Versions: 1.1.5
>            Reporter: Martin Marinschek
>         Assigned To: Martin Marinschek
>             Fix For:  1.1.6-SNAPSHOT
>
>
> 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;
>      }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message