Hi Gerhard,

before I applied your provided code, I debugged and set a breakpoint at the
root of my exception and I found:
The exception has it's origin one line above.
DefaultELHelper.java:201
 ValueBindingExpression valueBindingExpression =
getValueBindingExpression(uiComponent, false);

getValueBindingExpression(uiComponent, false) returns null

here are two variables:
valueBindingExpression  null

facesContext    FacesContextImpl  (id=196)      
        application     ApplicationImpl  (id=216)       
        componentMessageLists   null    
        elContext       ELContextImpl  (id=219) 
        externalContext ExternalContextImpl  (id=222)   
        lastRk  ExtValRenderKit  (id=225)       
        lastRkId        "HTML_BASIC" (id=228)   
        released        false   
        renderResponse  true    
        responseComplete        false   
        responseStream  null    
        responseWriter  HtmlResponseWriter  (id=229)    
        rkFactory       ExtValRenderKitFactory  (id=236)        
        viewRoot        UIViewRoot  (id=182)    
                afterPhase      null    
                attributes      UIComponentBase$AttributesMap  (id=239) 
                attributesThatAreSet    ArrayList<E>  (id=240)  
                beforeMethodException   false   
                beforePhase     null    
                bindings        null    
                children        UIComponentBase$ChildrenList  (id=241)  
                clientId        null    
                events  null    
                facets  null    
                id      "j_id_jsp_333505498_0" (id=243) 
                isUIComponentBase       true    
                isUIComponentBaseIsSet  false   
                lastId  20      
                listeners       null    
                locale  Locale  (id=244)        
                parent  null    
                pdMap   HashMap<K,V>  (id=246)  
                phaseListenerIterator   null    
                phaseListeners  null    
                rendered        true    
                renderedSet     false   
                rendererType    null    
                renderKitId     "HTML_BASIC" (id=228)   
                skipPhase       false   
                transientFlag   false   
                values  null    
                values  null    
                viewId  "/myapp/templates/Layout.jsp" (id=247)  


Then I applied your code into the StartupListener and the application opens
the requested resource (jsp/jsf file) but further actions on this resource
(like a login button) result in another exception. BTW, I have another
resource, a contact page, that also displays only if a cleaned tomcat is
started twice. This contact site doesn't display any uicomponents in
contrast to the jsp-resource I mentioned before (the one with login button,
let's call it login-page) with the applied code in the StartupListener.

This other exception (by pressing the login button on login-page) starts
with:
JSF1054: (Phase ID: PROCESS_VALIDATIONS 3, View ID:
/myapp/templates/Layout.jsp) Exception thrown during phase execution:
javax.faces.event.phaseevent[source=com.sun.faces.lifecycle.lifecyclei...@17a1686]
10.07.2009 12:44:59 org.apache.catalina.core.ApplicationDispatcher invoke

Do you want the stack trace of this one too?

If there are variable' values I could attach of the original or the actual
exception cause, please tell me.

Thanks,
Belem


Gerhard Petracek wrote:
> 
> hi belem,
> 
> that might be the problem. extval initializes input components with
> metadata
> of the bound property before the component is rendered
> (to provide different features). so extval has to inspect the property of
> every input component. it seems that this isn't compatible with your
> custom
> mechanism.
> you can test it with a custom impl. - use the following code in your
> startup-listener.
> 
>     protected void init()
>     {
>         //workaround to allow forced double-rendering used in icefaces
> 
> ExtValContext.getContext().addGlobalProperty(ExtValRendererProxy.KEY,
> null);
> 
>         //deregister the default implementation
> 
> ExtValContext.getContext().denyRendererInterceptor(ValidationInterceptorWithSkipValidationSupport.class);
> 
>         //register a custom implementation without component
> initialization
>         ExtValContext.getContext().registerRendererInterceptor(new
> ValidationInterceptorWithSkipValidationSupport() {
>             @Override
>             public void beforeEncodeBegin(FacesContext facesContext,
> UIComponent uiComponent, Renderer wrapped)
>                 throws IOException, SkipBeforeInterceptorsException,
> SkipRendererDelegationException
>             {
>                 //do nothing
>             }
>         });
>     }
> 
> regards,
> gerhard
> 

-- 
View this message in context: 
http://www.nabble.com/exception-with-extval---JSF1054-RENDER_RESPONSE-6-tp24409424p24425393.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.

Reply via email to