Thanks for the reply, but I'm still not sure if this is correct.
 
My component is correctly implementing the save and restore methods(I do
see these methods being invoked by jsf). Although if I set some new
values on the component within the renderer's decode method, the values
do not get saved out to the component and later restored when the
encodeBegin
is invoked. So the state of the component is not the same. 
 
I thought the purpose of the decode method is to obtain request values
that need to set local values on a component(section 8.2  the spec).
 
If this is not correct, then how could you deal with this situtation?
 
 
 
Dan
 

  _____  

From: Gary VanMatre [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, January 16, 2007 7:50 PM
To: MyFaces Development
Subject: Re: BUG: Ui component instance different for renderer decode
and encode methods?


>From: "Dan Diodati" [EMAIL PROTECTED] 
>I  was creating a custom jsf component to use and I noticed that the
component instance that is passed to the renderer decode method is
different than the one passed to the encodeBegin,encodeEnd.
>
>This seems to be a bug since I want to be able to set some values taken
from outside params onto the component within the decode and later in
the encodeBegin access the component with the updated values.
>
>Currently the component loses the values set on it due to the component
instance being different when the encodeBegin is called.
>
>Is this a bug in the myfaces implementation?
>
 

This is not a bug.  It's just the way that JSF works.  You most might
need to implement these methods in your component.
 
 
public Object saveState(FacesContext context)

public void restoreState(FacesContext context, Object state)
 

Section 2.5.3.1 - State Management Considerations for the Custom
Component Author in the JSF 1.1 spec talks about this issue.  
 
You might also take a look at some of the other components out there:
http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/
faces/component/UIInput.java?view=markup

 
>Dan
 
Gary

Reply via email to