Hello Simon,

You said

          The fix is probably to update the f:loadBundle tag to reload the
bundle during the restore-view phase.

I am not familiar how to do this, I think I still need more study on the
Faces phases. How do you suggest us to fix? Me and Shawn have the same
problem.

Any code snippet or source explaining this would be highly appreciated.

Best Regards,

Ernani


Simon Kitching-3 wrote:
> 
> Ah.. Shawn, the value you are missing isn't taken from a message bundle 
> is it?
> 
> There was a question on this list a month or so ago about using an EL 
> expression to get a value from a message bundle. The f:loadBundle tag 
> currently only works in the "render" phase, and does nothing on 
> restore-view. This means that any EL expression referencing the message 
> bundle will return null during postback processing.
> 
> This isn't normally a problem; messages from message-bundles are 
> normally used just to output text. However if for some reason anyone 
> tries to reference one in the postback (eg from a t:updateActionListener 
> or t:aliasBean) then it won't currently work.
> 
> And as noted earlier in this thread, prior to myfaces 1.1.5 an 
> f:attribute was evaluated once only and the result of the expression 
> stored as the parent component's attribute. In 1.1.5 and later the 
> *expression* is now stored and evaluated each time it is used. And of 
> course the *first* time the f:attribute is encountered is during a 
> render phase. So if you use an f:attribute to access a message bundle, 
> then it would work in pre-1.1.5 because it evaluates once (during a 
> render phase) and stores the resulting string. Even when that attribute 
> is fetched during a postback phase it will be there. However since 1.1.5 
> it will be the *el expression* that is fetched and evaluated - so the 
> message-bundle is not loaded so the expression will evaluate to null in 
> the postback phase (and will work fine in the render phase).
> 
> The fix is probably to update the f:loadBundle tag to reload the bundle 
> during the restore-view phase.
> 
> Regards,
> 
> Simon
> 
> Ernani wrote:
>> I have the same issue here, just upgraded and it is missing all
>> parameters
>> for messages.
>> 
>> Please let me know if you figure it out how to resolve this problem.
>> Otherwise I will have to downgrade the MyFaces version.
>> 
>> Thanks.
>> 
>> Ernani
>> 
>> 
>> Garner, Shawn-2 wrote:
>>> I upgraded to 1.1.5 and now my phase listener can no longer get my
>>> f:attribute attribute on a component (eg: <h:inputText>).
>>>
>>> I iterate over the client IDs with messages by doing
>>> FacesContext.getClientIdsWithMessages();
>>>
>>> I get the component by UIViewRoot.findComponent(clientID) and then try
>>> to get the attribute by String fieldRef =
>>> component.getAttributes().get("fieldRef");
>>>
>>>  
>>>
>>>  
>>>
>>> It worked before I upgraded.
>>>
>>>  
>>>
>>> Can somebody help me?
>>>
>>>  
>>>
>>> Shawn 
>>>
>>>  
>>>
>>>
>>>
>> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/f%3Aattribute-in-phaselistener-tf3586393.html#a10090226
Sent from the MyFaces - Users mailing list archive at Nabble.com.

Reply via email to