You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Christoph Dietze <ch...@ergodirekt.de> on 2011/06/16 10:09:23 UTC

Antwort: [SPAM] Re: javax.faces.SEPARATOR_CHAR not working well together with AJAX

I created an issue for this: 
https://issues.apache.org/jira/browse/MYFACES-3176




Von:    Leonardo Uribe <lu...@gmail.com>
An:     MyFaces Discussion <us...@myfaces.apache.org>
Datum:  15.06.2011 17:13
Betreff:        [SPAM] Re: javax.faces.SEPARATOR_CHAR not working well 
together with AJAX



Hi

I don't think use underscore could be a good choice, because for
generated ids, the prefix is j_id, so methods like
UIComponent.findComponent will not work correctly.

I have checked it and it is a bug. It should use
UINamingContainer.getSeparatorChar(FacesContext) instead a constant.
Please file an issue on myfaces issue tracker here:

https://issues.apache.org/jira/browse/MYFACES

so it can be fixed

regards,

Leonardo Uribe

2011/6/15 Christoph Dietze <ch...@ergodirekt.de>:
> Hello,
>
> we changed the default SEPARATOR_CHAR from colon to underscore. However,
> that causes an Exception
>
> javax.faces.FacesException: Component with id:myid not found at
> 
org.apache.myfaces.renderkit.html.HtmlAjaxBehaviorRenderer.getComponentId(HtmlAjaxBehaviorRenderer.java:291)
>
> It looks like org.apache.myfaces.renderkit.html.HtmlAjaxBehaviorRenderer
> assumes that the separator char is always a colon. Here is the method
> throwing the exception:
>
>    private final String getComponentId(ClientBehaviorContext context,
> String id) {
>
>        UIComponent contextComponent = context.getComponent();
>        UIComponent target = contextComponent.findComponent(id);
>        if (target == null) {
>            target = contextComponent.findComponent(COLON + id);
>        }
>        if (target != null) {
>            return target.getClientId();
>        }
>        throw new FacesException("Component with id:" + id + " not found"
> );
>    }
>
> Is this a bug?
>
> (using myfaces 2.1.1)
>
> greets,
> Christoph
>
>
>
> www.ergodirekt.de
> www.facebook.com/ergodirekt
> www.twitter.com/ergodirekt
>
> _______________________
>
> ERGO Direkt Lebensversicherung AG · Sitz: Fürth
>     Amtsgericht Fürth HRB 2787 · UST-ID-Nr. DE159593454
> ERGO Direkt Versicherung AG · Sitz: Fürth
>     Amtsgericht Fürth HRB 2934 · UST-ID-Nr. DE159593438
> ERGO Direkt Krankenversicherung AG · Sitz: Fürth
>     Amtsgericht Fürth HRB 4694 · UST-ID-Nr. DE159593446
> Vorsitzender der Aufsichtsräte: Dr. Daniel von Borries
> Vorstände: Peter M. Endres (Vorsitzender),
>     Ralf Hartmann, Dr. Jörg Stoffels
> Adresse: Karl-Martell-Straße 60 · 90344 Nürnberg · Deutschland





www.ergodirekt.de
www.facebook.com/ergodirekt
www.twitter.com/ergodirekt

_______________________

ERGO Direkt Lebensversicherung AG · Sitz: Fürth
     Amtsgericht Fürth HRB 2787 · UST-ID-Nr. DE159593454
ERGO Direkt Versicherung AG · Sitz: Fürth
     Amtsgericht Fürth HRB 2934 · UST-ID-Nr. DE159593438
ERGO Direkt Krankenversicherung AG · Sitz: Fürth
     Amtsgericht Fürth HRB 4694 · UST-ID-Nr. DE159593446
Vorsitzender der Aufsichtsräte: Dr. Daniel von Borries
Vorstände: Peter M. Endres (Vorsitzender),
     Ralf Hartmann, Dr. Jörg Stoffels
Adresse: Karl-Martell-Straße 60 · 90344 Nürnberg · Deutschland