[ 
http://issues.apache.org/jira/browse/MYFACES-1056?page=comments#action_12363821 
] 

Andreas Knuth commented on MYFACES-1056:
----------------------------------------

In validate() of UIInput the setValue() Method and therefore 
"setLocalValueSet(true); super.setValue(value);" of UIOutput are called.

The valuebinding to this component is created in the Tag Handler 
(UIComponentTagBase).

You're are right, if there is a valuebinding - the getValue() Method should be 
normally called in RendererUtils.getStringValue(...) . 

But in the szenario above this lead to the unexpected result.

So, to my minds (a litle bit differentiated) the getLocalValue() must be called 
in RendererUtils.getStringValue(...) if there is a ValidationError.

regards,

Andreas



> getValue() vs. getLocalValue() in RendererUtils.getStringValue()
> ----------------------------------------------------------------
>
>          Key: MYFACES-1056
>          URL: http://issues.apache.org/jira/browse/MYFACES-1056
>      Project: MyFaces
>         Type: Bug
>   Components: General
>     Versions: 1.1.1
>  Environment: all
>     Reporter: Andreas Knuth

>
> For the case that any component on the page got a validation error and the 
> value of this component has been changed to empty, these changes will not be 
> visible after rendering !!
> HtmlTextRendererBase uses the RendererUtils.getStringValue(...) Method and 
> that class uses the getValue() Method for retrieving the value. To my mind it 
> should use  the getLocalValue() Method, because the user wants the changed 
> value being rendered.
> ->
> "getValue()" get the value from the ValueBinding of this component.
> "getLocalValue()" get the value from the Attribut _value of this component

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to